Systems and methods for maintaining attitude control under degraded energy source conditions using multiple propulsors

ABSTRACT

A system for maintaining attitude control under degraded or depleted energy source conditions using multiple electric propulsors includes a plurality of propulsors, at least an energy source providing electric power to the plurality of propulsors and a vehicle controller communicatively coupled to each propulsor and configured to calculate initial power levels for the plurality of propulsors, the initial power levels including an initial power level for each propulsor, determine an energy output capacity of the least an energy source under load, calculate, by the vehicle controller, an aggregate potential demand of the plurality of propulsors as a function of the initial power levels, determine that electric potential is insufficient to match the aggregate potential demand, and for each initial power level generate a reduced power level, the reduced power level less than the initial power level and direct a corresponding propulsor to consume electrical power at the reduced power level.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of Non-provisionalapplication Ser. No. 16/363,711 filed on Mar. 25, 2019 and entitled“SYSTEMS AND METHODS FOR MAINTAINING ATTITUDE CONTROL UNDER DEGRADEDENERGY SOURCE CONDITIONS USING MULTIPLE PROPULSORS,” the entirety ofwhich is incorporated herein by reference.

FIELD OF THE INVENTION

The present invention generally relates to the field of electricallypropelled vehicles. In particular, the present invention is directed toa system and method for maintaining attitude control under degraded ordepleted energy source conditions using multiple propulsors.

BACKGROUND

In electric multi-propulsion systems such as electrified Vertical TakeOff and Landing (eVTOL) aircraft, the propulsors are affected by theenergy storage system's potential, particularly at low state of charge,when the energy storage becomes depleted, and when attempting to land ineVTOL mode. The attitude of the electrified aircraft becomes verydifficult to control when the propulsors with the highest power commands(which are attempting to correct the aircraft's attitude) are beingaffected the most by the collapsing energy storage system potential.While the propulsors with the lowest power commands are able to followtheir commands with fidelity. This asymmetrical response across thepropulsors leads to poor attitude control and flight characteristics.This in turn can lead to unsafe or damaging conditions when attemptingto land the craft at low state of charge. Existing approaches tomitigating this problem are limited. Normally, the safe operating rangeof a craft is reduced to ensure the energy storage device never has apower or terminal voltage limiting effect on the propulsors, which leadsto oversized batteries, or short usable range restrictions, whilekeeping poor vehicle response and even crashes under lower states ofcharge possible if unexpected changes in flight plan or conditionsrequiring greater power consumption occur.

SUMMARY OF THE DISCLOSURE

In one aspect, a system for maintaining attitude control under degradedor depleted energy source conditions includes a plurality of propulsors,at least an energy source providing electric power to the plurality ofpropulsor, and a vehicle controller communicatively coupled to eachpropulsor of the plurality of propulsors, the vehicle controllerdesigned and configured to determine commands for the plurality ofpropulsors, the commands include a command for each propulsor of theplurality of propulsors, calculate initial power levels for theplurality of propulsors as a function of the commands, the initial powerlevels including an initial power level for each propulsor of theplurality of propulsors, detect a present power output capability of theat least an energy source, determine that the present power outputcapability is insufficient to match the initial power levels, and foreach initial power level of the plurality of initial power levelsgenerate a reduced power level, the reduced power level less than theinitial power level and direct a corresponding propulsor of theplurality of propulsors to consume electrical power at the reduced powerlevel.

In another aspect, a method of maintaining attitude control of anelectronic multi-propulsion system under degraded energy sourceconditions includes determining, by a vehicle controller communicativelyconnected to a plurality of propulsors powered by at least an energysource, commands for the plurality of propulsors, the commands includinga command for each propulsor of the plurality of propulsors,calculating, by the vehicle controller, initial power levels for theplurality of propulsors as a function of the commands, the initial powerlevels including an initial power level for each propulsor of theplurality of propulsors, detecting, by the vehicle controller, a presentpower output capability of the at least an energy source, determining,by the vehicle controller, that the present power output capability isinsufficient to match the initial power levels, and for each initialpower level of the plurality of initial power levels generating, by thevehicle controller, a reduced power level, the reduced power level lessthan the initial power level and directing, by the vehicle controller, acorresponding propulsor of the plurality of propulsors to consumeelectrical power at the reduced power level.

These and other aspects and features of non-limiting embodiments of thepresent invention will become apparent to those skilled in the art uponreview of the following description of specific non-limiting embodimentsof the invention in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

For the purpose of illustrating the invention, the drawings show aspectsof one or more embodiments of the invention. However, it should beunderstood that the present invention is not limited to the precisearrangements and instrumentalities shown in the drawings, wherein:

FIG. 1 is a block diagram depicting an exemplary embodiment of thedisclosed system;

FIG. 2 is a block diagram depicting an exemplary embodiment of apropulsor;

FIG. 3 is a schematic diagram depicting an exemplary embodiment of anelectric aircraft;

FIGS. 4A-C are graphs illustrating exemplary plots of electric aircraftpower demand, energy source power capability, energy source potential,and charge state versus time in an embodiment;

FIG. 5 is a graph illustrating a depleted energy source scenario wherepower demands to a single propulsor are not supportable;

FIGS. 6A-C are graphs illustrating a depleted energy source scenariowhere power demands to a plurality of propulsors are not supportable,and contrasting disproportionate power reductions to proportionate powerreductions;

FIG. 7 is a block diagram of an exemplary flight controller;

FIG. 8 is a block diagram of an exemplary machine-learning process;

FIG. 9 is a flow diagram depicting an exemplary embodiment of a methodof maintaining attitude control under degraded energy source conditionsusing multiple propulsors; and

FIG. 10 is a block diagram of a computing system that can be used toimplement any one or more of the methodologies disclosed herein and anyone or more portions thereof.

The drawings are not necessarily to scale and may be illustrated byphantom lines, diagrammatic representations and fragmentary views. Incertain instances, details that are not necessary for an understandingof the embodiments or that render other details difficult to perceivemay have been omitted.

DETAILED DESCRIPTION

Embodiments of the systems and methods disclosed herein may maintainattitude adjustment intentions of a flight controller or other vehiclecontroller for an electric multi-propulsion system such as anelectrified aircraft by a novel process reducing the power commands topropulsors when an energy storage system powering the propulsors cannotsupport the original control signals due to power processinglimitations. This novel method may result in a more controllablebehavior from the electric multi-propulsion system than a non-selectivecontrol method which does not account for how the various propulsorswill be affected by an energy storage system that has limited powercapability. Systems and methods may maintain the relative magnitude ofthrust between the propulsors by reducing the total power request by aminimal amount to provide as good fidelity as the depleted battery willallow; in an embodiment, this may permit an electric multi-propulsionsystem to perform emergency procedures such as emergency landings withminimal risk to losing attitude control of the vehicle.

Referring now FIG. 1, an exemplary embodiment of a system 100 formaintaining attitude control under degraded energy source conditionsusing multiple electric propulsors is illustrated. System 100 may be orbe incorporated in an electric multi-propulsion system, such as withoutlimitation an electric aircraft, electric watercraft, or the like.System 100 includes a plurality of propulsors 104 a-n. A propulsor, asused herein, is a component or device used to propel a craft by exertingforce external to the craft; propulsor may include a fluid propulsor,which exerts force on a fluid medium, which may include a gaseous mediumsuch as air or a liquid medium such as water. Alternatively oradditionally, a propulsor may exert force on solid or other media, suchas on a solid surface supporting craft; propulsor may, for instance,include a wheel or similar device for terrestrial locomotion. Pluralityof propulsors 104 a-n may include electric propulsors, which receivepower in the form of electricity. Plurality of propulsors 104 a-n mayinclude any number of propulsors.

Referring now to FIG. 2, an illustrative example of a propulsor 104 a,which may include any propulsor of plurality of propulsors 104 a-n, isillustrated. A propulsor 104 a may include a motor 200. A motor 200 mayinclude without limitation, any electric motor 200, where an electricmotor 200 is a device that converts electrical energy into mechanicalenergy, for instance by causing a shaft 204 to rotate. A motor 200 maybe driven by direct current (DC) electric power; for instance, a motor200 may include a brushed DC motor 200 or the like. A motor 200 may bedriven by electric power having varying or reversing voltage levels,such as alternating current (AC) power as produced by an alternatingcurrent generator and/or inverter 208, or otherwise varying power, suchas produced by a switching power source. A motor 200 may include,without limitation, a brushless DC electric motor, a permanent magnetsynchronous motor, a switched reluctance motor, and/or an inductionmotor; persons skilled in the art, upon reviewing the entirety of thisdisclosure, will be aware of various alternative or additional formsand/or configurations that a motor 200 may take or exemplify asconsistent with this disclosure. In addition to inverter 208 and/orswitching power source, a circuit driving motor 200 may includeelectronic speed controllers (not shown) or other components forregulating motor 200 speed, rotation direction, torque, and/or dynamicbraking. Motor 200 may include or be connected to one or more sensors216 detecting one or more conditions of motor 200; one or moreconditions may include, without limitation, voltage levels,electromotive force, current levels, temperature, current speed ofrotation, position sensors, and the like. For instance, and withoutlimitation, one or more sensors 216 may be used to detect back-EMF, orto detect parameters used to determine back-EMF, as described in furtherdetail below. One or more sensors may include a plurality of currentsensors, voltage sensors, and speed or position feedback sensors. One ormore sensors may communicate a current status of motor 200 to a system100 or a computing device; computing device may include any computingdevice as described below in reference to FIG. 8, including withoutlimitation a vehicle controller 112 as set forth in further detailbelow. Computing device may use sensor feedback to calculate performanceparameters of motor 200, including without limitation a torque versusspeed operation envelope. Persons skilled in the art, upon reviewing theentirety of this disclosure, will be aware of various devices and/orcomponents that may be used as or included in a motor 200 or a circuitoperating a motor 200, as used and described herein. In an embodiment,propulsors may receive differential power consumption commands, such asa propeller or the like receiving command to generate greater poweroutput owing a greater needed contribution to attitude control, or awheel receiving a greater power output due to worse traction thananother wheel under slippery conditions.

With continued reference to FIG. 2, motor 200 may be connected to athrust element 212. Thrust element 212 may include any device orcomponent that converts the mechanical energy of the motor 200, forinstance in the form of rotational motion of a shaft 204, into thrust ina fluid medium. Thrust element 212 may include, without limitation, adevice using moving or rotating foils, including without limitation oneor more rotors, an airscrew or propeller, a set of airscrews orpropellers such as contra-rotating propellers or co-rotating propellers,a moving or flapping wing, or the like. Thrust element 212 may includewithout limitation a marine propeller or screw, an impeller, a turbine,a pump-jet, a paddle or paddle-based device, or the like. Thrust element212 may include a rotor. Persons skilled in the art, upon reviewing theentirety of this disclosure, will be aware of various devices that maybe used as thrust element 212.

Referring again to FIG. 1, system 100 may include at least an energysource 108. At least an energy source 108 may include any deviceproviding energy to plurality of propulsors 104 a-n; in an embodiment,at least an energy source 108 provides electric energy to the pluralityof propulsors 104 a-n. At least an energy source 108 may include,without limitation, a generator, a photovoltaic device, a fuel cell suchas a hydrogen fuel cell, direct methanol fuel cell, and/or solid oxidefuel cell, or an electric energy storage device; electric energy storagedevice may include without limitation a capacitor and/or inductor. Atleast an energy source 108 and/or energy storage device may include atleast a battery, battery cell, and/or a plurality of battery cellsconnected in series, in parallel, or in a combination of series andparallel connections such as series connections into modules that areconnected in parallel with other like modules. Battery and/or batterycell may include, without limitation, Li ion batteries which may includeNCA, NMC, Lithium iron phosphate (LiFePO4) and Lithium Manganese Oxide(LMO) batteries, which may be mixed with another cathode chemistry toprovide more specific power if the application requires Li metalbatteries, which have a lithium metal anode that provides high power ondemand, Li ion batteries that have a silicon or titanite anode, energysource may be used, in an embodiment, to provide electrical power to anelectric aircraft or drone, such as an electric aircraft vehicle, duringmoments requiring high rates of power output, including withoutlimitation takeoff, landing, thermal de-icing and situations requiringgreater power output for reasons of stability, such as high turbulencesituations, as described in further detail below. Battery may include,without limitation a battery using nickel based chemistries such asnickel cadmium or nickel metal hydride, a battery using lithium ionbattery chemistries such as a nickel cobalt aluminum (NCA), nickelmanganese cobalt (NMC), lithium iron phosphate (LiFePO4), lithium cobaltoxide (LCO), and/or lithium manganese oxide (LMO), a battery usinglithium polymer technology, lead-based batteries such as withoutlimitation lead acid batteries, metal-air batteries, or any othersuitable battery. Persons skilled in the art, upon reviewing theentirety of this disclosure, will be aware of various devices ofcomponents that may be used as at least an energy source 108.

Continuing to view FIG. 1, configuration of at least an energy source108 containing connected modules may be designed to meet an energy orpower requirement and may be designed to fit within a designatedfootprint in an electric aircraft in which system 100 may beincorporated. At least an energy source 108 may be used to provide asteady supply of electrical power to a load over the course of a flightby a vehicle or other electric aircraft; the at least an energy source108 may be capable of providing sufficient power for “cruising” andother relatively low-energy phases of flight. At least an energy source108 may be capable of providing electrical power for some higher-powerphases of flight as well, particularly when the at least an energysource 108 is at a high state of charge and/or state of voltage, as maybe the case for instance during takeoff. At least an energy source 108may be capable of providing sufficient electrical power for auxiliaryloads including without limitation, lighting, navigation,communications, de-icing, steering or other systems requiring power orenergy. At least an energy source 108 may be capable of providingsufficient power for controlled descent and landing protocols,including, without limitation, hovering descent or runway landing.

Still referring to FIG. 1, at least an energy source 108 may include acell such as a battery cell, or a plurality of battery cells making abattery module. At least an energy source 108 may be a plurality ofenergy sources. The module may include batteries connected in parallelor in series or a plurality of modules connected either in series or inparallel designed to deliver both the power and energy requirements ofthe application. Connecting batteries in series may increase the voltageof at least an energy source 108 which may provide more power on demand.High voltage batteries may require cell matching when high peak load isneeded. As more cells are connected in strings, there may exist thepossibility of one cell failing which may increase resistance in themodule and reduce the overall power output as the voltage of the modulemay decrease as a result of that failing cell. Connecting batteries inparallel may increase total current capacity by decreasing totalresistance, and it also may increase overall amp-hour capacity. Theoverall energy and power outputs of at least an energy source 108 may bebased on the individual battery cell performance or an extrapolationbased on the measurement of at least an electrical parameter. In anembodiment where at least an energy source 108 includes a plurality ofbattery cells, the overall power output capacity may be dependent on theelectrical parameters of each individual cell. If one cell experienceshigh self-discharge during demand, power drawn from at least an energysource 108 may be decreased to avoid damage to the weakest cell. Atleast an energy source 108 may further include, without limitation,wiring, conduit, housing, cooling system and battery management system.Persons skilled in the art will be aware, after reviewing the entiretyof this disclosure, of many different components of an energy source.

Still viewing FIG. 1, system 100 may include multiple propulsionsub-systems, each of which may have a separate energy source powering aseparate plurality of propulsors 104 a-n. For instance, and withoutlimitation, each propulsor of plurality of propulsors 104 a-n may have adedicated energy source of at least an energy source 108. Alternativelyor additionally, a plurality of energy sources may each provide power totwo or more propulsors, such as, without limitation, a “fore” energysource providing power to propulsors located toward the front of anaircraft, while an “aft” energy source provides power to propulsorslocated toward the rear of the aircraft. As a further non-limitingexample, a single propulsor or group of propulsors may be powered by aplurality of energy sources. For example, and without limitation, two ormore energy sources may power one or more propulsors; two energy sourcesmay include, without limitation, at least a first energy source havinghigh specific energy density and at least a second energy source havinghigh specific power density, which may be selectively deployed asrequired for higher-power and lower-power needs. Alternatively oradditionally, a plurality of energy sources may be placed in parallel toprovide power to the same single propulsor or plurality of propulsors.Alternatively or additionally, two or more separate propulsionsubsystems may be joined using intertie switches (not shown) causing thetwo or more separate propulsion subsystems to be treatable as a singlepropulsion subsystem or system, for which potential under load ofcombined energy sources may be used as the electric potential asdescribed below. Persons skilled in the art, upon reviewing the entiretyof this disclosure, will be aware of various combinations of energysources 104 that may each provide power to single or multiple propulsorsin various configurations.

With continued reference to FIG. 1, system 100 includes a vehiclecontroller 112. Vehicle controller 112 may include any computing deviceor combination of computing devices as described below in reference toFIG. 8. Vehicle controller 112 may include at least a flight controlleras described below in reference to FIGS. 7-8. Vehicle controller 112 mayinclude any processor or combination of processors as described below inreference to FIG. 8. Vehicle controller 112 may include amicrocontroller. In an embodiment, where system 100 includes anelectronic aircraft, vehicle controller 112 is programmed to operateelectronic aircraft to perform at least a flight maneuver; at least aflight maneuver may include takeoff, landing, stability controlmaneuvers, emergency response maneuvers, regulation of altitude, roll,pitch, yaw, speed, acceleration, or the like during any phase of flight.At least a flight maneuver may include a flight plan or sequence ofmaneuvers to be performed during a flight plan. Vehicle controller 112may be configured to operate aircraft by transmitting commands to flightcomponents. As used herein, a “command” is at least an element of datathat necessitates a response from at least a component, such as withoutlimitation a flight component; a response may include a change inperformance, a communication, a status check, or any other operationthat is performed by a component after receiving the command. In somecases, component may include a propulsor and vehicle controller 112 maybe configured to send a command to the propulsor. A command may becommunicated by way of a signal. Non-limiting signals include electricalsignals, optical signals, analog signals, digital signals, serialsignal, parallel signals, and the like. Vehicle controller 112 may bedesigned and configured to operate electronic aircraft via fly-by-wire.Vehicle controller 112 is communicatively coupled to each propulsor ofthe plurality of propulsors 104 a-n; as used herein, vehicle controller112 is communicatively coupled to each propulsor where vehiclecontroller 112 is able to transmit signals to each propulsor and eachpropulsor is configured to modify an aspect of propulsor behavior inresponse to the signals. As a non-limiting example, vehicle controller112 may transmit signals to a propulsor via an electrical circuitconnecting vehicle controller 112 to the propulsor; the circuit mayinclude a direct conductive path from vehicle controller 112 topropulsor or may include an isolated coupling such as an optical orinductive coupling. Alternatively or additionally, vehicle controller112 may communicate with a propulsor of plurality of propulsors 104 a-nusing wireless communication, such as without limitation communicationperformed using electromagnetic radiation including optical and/or radiocommunication, or communication via magnetic or capacitive coupling.Vehicle controller may be fully incorporated in an electric aircraftcontaining plurality of propulsors 104 a-n, may be a remote deviceoperating the electric aircraft remotely via wireless or radio signals,or may be a combination thereof, such as a computing device in theaircraft configured to perform some steps or actions described hereinwhile a remote device is configured to perform other steps. According tosome embodiments, vehicle controller 112 may determine a command foreach propulsor of plurality of propulsors 104 a-n. In some cases,vehicle controller 112 may determine command, as a function of one ormore flight controller functions, for example without limitation anautonomous function. An exemplary flight controller 112 having anautonomous function is describe in detail with reference to FIGS. 7-8.In some cases, vehicle controller 112 may determine at least a commandin order to operate aircraft according to a desired flight plan and/orflight maneuver. In some cases, both desired flight plan and/or flightmaneuver and at least a command may be determined using vehiclecontroller, for example as a function of an autonomous function and/orautonomous mode of the vehicle controller 112. Alternatively oradditionally, in some cases, commands may be received by vehiclecontroller 112, for example without limitation from a remote device. Insome cases, a remote device may be terrestrial and/or outside ofaircraft. In some cases, vehicle controller 112 may receive one or moreof a desired flight plan or maneuver from a remote device. Remote devicemay be communicatively connected with vehicle controller 112 accordingto any known networking and/or communications method, including withoutlimitation radio, wireless (Wi-Fi), optical (LiFi), and the like.Persons skilled in the art will be aware, after reviewing the entiretyof this disclosure, of many different forms and protocols ofcommunication that may be used to communicatively couple vehiclecontroller 112 to plurality of propulsors 104 a-n.

Still referring to FIG. 1, vehicle controller 112 may be communicativelyconnected to at least an energy source 108. For instance, and withoutlimitation, vehicle controller 112 may include and/or be connected to atleast a sensor 116. At least a sensor may be configured to determine atleast an electrical parameter of at least an energy source 108. At leasta sensor 116 may be incorporated into vehicle or aircraft or be remote.At least a sensor 116 may be communicatively connected to the vehiclecontroller 112. Electrical parameters may include, without limitation,voltage, current, impedance, resistance, temperature. Current may bemeasured by using a sense resistor in series with the circuit andmeasuring the voltage drop across the resister, or any other suitableinstrumentation and/or methods for detection and/or measurement ofcurrent. Voltage may be measured using any suitable instrumentation ormethod for measurement of voltage, including methods for estimation asdescribed in further detail below. Each of resistance, current, andvoltage may alternatively or additionally be calculated using one ormore relations between impedance and/or resistance, voltage, andcurrent, for instantaneous, steady-state, variable, periodic, or otherfunctions of voltage, current, resistance, and/or impedance, includingwithout limitation Ohm's law and various other functions relatingimpedance, resistance, voltage, and current with regard to capacitance,inductance, and other circuit properties. Alternatively, oradditionally, vehicle controller 112 may be wired to at least an energysource 108 via, for instance, a wired electrical connection. Vehiclecontroller 112 may measure voltage, current, or other electricalconnection. This may be accomplished, for instance, using ananalog-to-digital converter, one or more comparators, or any othercomponents usable to measure electrical parameters using an electricalconnection that may occur to any person skilled in the art uponreviewing the entirety of this disclosure.

Still referring to FIG. 1, at least a sensor 116 may be configured tomeasure at least an electrical parameter of at least an energy source108 and may be communicatively connected, as defined above, to vehiclecontroller 112. Sensor 116 may be used to measure a plurality ofelectrical parameters. In an embodiment, the first electrical parametermay include, without limitation, voltage, current, resistance, or anyother parameter of an electrical system or circuit. The secondelectrical parameter may be a function of the first electricalparameter. A third electrical parameter may be calculated from the firstand second electrical parameters as a delta or function. For example,the current may be calculated from the voltage measurement. Resistancemay be calculated from using the voltage and current measurements.Vehicle controller 112 may be connected to a plurality of sensors; forinstance, a plurality of sensors may measure a plurality of electricalparameters and/or measure one or more parameters at a plurality ofenergy sources of at least an energy source 108. In some cases, at leasta sensor 116 may be configured to detect, measure, calculate orotherwise determine one or more of resistance, potential, current,impedance, inductance, capacitance, and the like.

Continuing to refer to FIG. 1, at least a sensor 116 may include one ormore sensors configured to detect additional phenomena. For instance, atleast a sensor 116 may include one or more motion sensors, which mayinclude any element suitable for use as an inertial measurement unit(IMU) or any component thereof, including without limitation one or moreaccelerometers, one or more gyroscopes, one or more magnetometers, orthe like. Motion sensors may be selected to detect motion in threedirections spanning three dimensions; for instance, a set of threeaccelerometers may be configured or arranged to detect acceleration inthree directions spanning three dimensions, such as three orthogonaldirections, or three gyroscopes may be configured to detect changes inpitch spanning three dimensions, such as may be achieved by threemutually orthogonal gyroscopes. At least a sensor may include one ormore environmental sensors, including without limitation sensors fordetecting wind speed, temperature, or the like.

With continued reference to FIG. 1, where system 100 is incorporatedinto an electric aircraft, vehicle controller 112 may be programmed tooperate the electronic aircraft to perform at least a flight maneuver;at least a flight maneuver may include takeoff, landing, stabilitycontrol maneuvers, emergency response maneuvers, regulation of altitude,roll, pitch, yaw, speed, acceleration, or the like during any phase offlight. At least a flight maneuver may include a flight plan or sequenceof maneuvers to be performed during a flight plan. At least a flightmaneuver may include a runway landing, defined herein as a landing inwhich a fixed-wing aircraft, or other aircraft that generates lift bymoving a foil forward through air, flies forward toward a flat area ofground or water, alighting on the flat area and then moving forwarduntil momentum is exhausted on wheels or (in the case of landing onwater) pontoons; momentum may be exhausted more rapidly by reversethrust using propulsors, mechanical braking, electric braking, or thelike. At least a flight maneuver may include a vertical landingprotocol, which may include a rotor-based landing such as one performedby rotorcraft such as helicopters or the like. In an embodiment,vertical landing protocols may require greater expenditure of energythan runway-based landings; the former may, for instance, requiresubstantial expenditure of energy to maintain a hover or near-hoverwhile descending, while the latter may require a net decrease in energyto approach or achieve aerodynamic stall. Vehicle controller 112 may bedesigned and configured to operate electronic aircraft via fly-by-wire.Vehicle controller 112 may direct propulsors of plurality of propulsors104 a-n, to perform one or more flight maneuvers as described above,including takeoff, landing, and the like. Vehicle controller 112 may beconfigured to perform a partially or fully automated flight plan.Further disclosure related to autonomous function of vehicle controller112 is described below in reference to FIGS. 7-8. In an embodiment,controller 112 may be configured to command plurality of propulsors 104a-n, such as one or more motors or propellers, to increase powerconsumption, for instance to transition to rotor-based flight ataerodynamic stall during a vertical landing procedure or to a runwaybased controlled descent. Vehicle controller 112 may determine a momentto send a command to an instrument to measure time, such as a clock, byreceiving a signal from one or more sensors, or a combination thereof;for instance, vehicle controller 112 may determine by reference to aclock and/or navigational systems and sensors that electric aircraft isapproaching a destination point, reduce airspeed to approach aerodynamicstall, and may generate a timing-based prediction for the moment ofaerodynamic stall to compare to a timer, while also sensing a velocityor other factor consistent with aerodynamic stall before issuing thecommand. Persons skilled in the art will be aware, upon reviewing theentirety of this disclosure, of various combinations of sensor inputsand programming inputs that vehicle controller 112 may use to guide,modify, or initiate flight maneuvers including landing, steering,adjustment of route, and the like.

With continued reference to FIG. 1, in an embodiment, vehicle controller112 is designed and configured to perform methods of maintainingattitude control of an electronic multi-propulsion system under degradedor depleted energy source conditions, as described in further detailbelow. Vehicle controller may be configured to perform any embodiment ofany method and/or method steps as described in this disclosure with anydegree of repetition or reiteration, and/or in any order. As anon-limiting example, vehicle controller 112 may be designed andconfigured to calculate initial power levels for the plurality ofpropulsors, the initial power levels including an initial power levelfor each propulsor of the plurality of propulsors, detect a presentpower output capability of the at least an energy source, calculate atleast a power demand of the plurality of propulsors as a function of theinitial power levels, determine that the present power output capabilityis insufficient to match the at least a power demand, and, for eachinitial power level of the plurality of initial power levels, generate areduced power level, the reduced power level less than the initial powerlevel and direct a corresponding propulsor of the plurality ofpropulsors to consume electrical power at the reduced power level. Asanother non-limiting example, vehicle controller 112 may be designed andconfigured to propulsors, the vehicle controller designed and configuredto determine commands for the plurality of propulsors, the commandsinclude a command for each propulsor of the plurality of propulsors,calculate initial power levels for the plurality of propulsors as afunction of the commands, the initial power levels including an initialpower level for each propulsor of the plurality of propulsors, detect apresent power output capability of the at least an energy source,determine that the present power output capability is insufficient tomatch the initial power levels, and for each initial power level of theplurality of initial power level generate a reduced power level, thereduced power level less than the initial power level and direct acorresponding propulsor of the plurality of propulsors to consumeelectrical power at the reduced power level.

Still referring to FIG. 1, in some embodiments, vehicle controller 112may be additionally designed and configured to determine commands forplurality of propulsors 104 a-n as a function of an autonomous function.In some embodiments, vehicle controller 112 may be additionally designedand configured to determine commands for plurality of propulsors 104 a-nat least in part by receiving the commands from a remote device.

Referring to FIG. 3, system 100 may be incorporated in an electricaircraft 300. An electric aircraft may be an aircraft powered by atleast an energy source 108. Electric aircraft 300 may include one ormore wings or foils for fixed-wing or airplane-style flight and/or oneor more rotors for rotor-based flight. Electric aircraft 300 may includea plurality of propulsors 104 a-n, which may include any propulsors asdescribed above. In an embodiment, electric aircraft 300 may combineelements of rotorcraft with wings or foils and be capable of performingboth rotor-based and fixed-wing flight maneuvers; flight plan may call,for example, for vertical takeoff and landing with rotors and fixed-wingcruising flight, while electric aircraft 300 may be capable ofrotor-based cruising flight, airplane-style takeoff, and/or airplanestyle landing as well. Electric aircraft 300 may be a vertical takeoffand landing (VTOL) aircraft. Electric aircraft 300 may be an electricVTOL (eVTOL) aircraft. In an embodiment, electric aircraft 300 may be arotor-based craft such as a “quad copter,” multi-rotor helicopter, orother vehicle that maintains its lift primarily using downward thrustingpropulsors such as rotors. Electronic aircraft 300 may control itsattitude completely or substantially completely using propulsors;alternatively or additionally, electronic aircraft 300 may includeelements usable in wing-born flight, such as foils, elevators, rudders,and ailerons, which control attitude in one or more phases of flightindependently of propulsors. Electronic aircraft 300 may combine suchwing-based elements with lift-generating propulsors; for instance,electronic aircraft 300 may have propulsors that are directed or may bedirected downward to generate lift for vertical takeoff, verticallanding, and/or hover maneuvers, which may necessitate propulsor-basedattitude control for at least those phases of flight.

Referring now to FIGS. 4A-C, include graphs illustrating how decline ofenergy source state of charge and power delivery capability can combineto “clip” propeller power output for propellers requiring higher poweroutput as required for attitude control in exemplary embodiments. Inother words, FIGS. 4A-C illustrate examples of plots of electricaircraft power demand, energy source power capability, energy sourcepotential, and charge state versus time. As illustrated for instance asan exemplary embodiment in FIG. 4A, propulsion power demands may varyover time as dictated by stages in a flight or flight plan, or byunexpected changes in conditions; such demands may represent eitherdemand of any individual propulsor, as illustrated for instance in thegraph on the left or may represent the sum of all propulsors' powerdemands. FIG. 4A has vertical axis that denotes power in kilowatts and ahorizontal axis that denotes time in minutes. As shown in FIG. 4A,energy source and/or storage capability represented as a dotted linewith alternating long and short dot lengths) may decline over the courseof a flight; thus, where power demands (represented as a dotted line inthe graph) exceed energy source capacity, the power produced by energysource/storage (represented by a solid line) is “clipped” to a valueless than that of the power demand, which may be represented asfollowing the declining curve in the energy storage/source capabilities.Consequently, one or more propulsors may fail to output the expectedpower corresponding to a command from vehicle controller, resulting in aloss of attitude control. FIG. 4B illustrates changes in energy sourceelectric potential over time in an exemplary embodiment; energy sourceelectric potential may decline over the course of a flight in anembodiment, for instance where energy source is an energy storage devicesuch as a battery as described above. FIG. 4B has a vertical axis thatdenotes potential in volts and a horizontal axis that denotes time inminutes. FIG. 4C illustrates an exemplary embodiment of a change instate of charge of an energy source over time; in an embodiment, stateof charge may gradually decrease over time, for instance where energysource includes an energy storage device. FIG. 4C has a vertical axisthat denotes a unitless measure indicating a state of charge and avertical axis that denotes time in minutes.

Turning now to FIG. 5, and for illustrative purposes only, a graphillustrates an exemplary scenario, which for the purposes of discussionis denoted herein as “Case A,” in which a single propulsor presentspower demands exceeding current capabilities of at least an energysource 108. FIG. 5 has a vertical axis that denotes torque innewton-meters and a horizontal axis that denotes speed in revolutionsper minute (RPM). Illustrated for exemplary purposes only are sixpropulsor operating points for given attitude control conditions;torque-speed capability envelopes of the six propulsors are overlaid. Asillustrated, where energy source/storage potential drops below a certainlevel, one propulsor requiring a greater degree of combined torque andspeed may require more potential than an energy source powering thatpropulsor and/or a plurality of propulsors including that propulsor iscapable of producing at a current capability/state of charge. This mayresult in that propulsor being unable to maintain its contribution tovehicle attitude, causing attitude control to degrade. As a non-limitingexample, and for illustrative purposes only, when an electric potentialof an energy source of plurality of energy sources 108 falls below ademanded electric potential of an energy source, 500 volts in thisnon-limiting illustration, an operating point for a propulsor may falldown along the propulsor's torque-speed load curve to fall to a lowerlevel (not shown) within the applicable torque-speed envelope, resultingin less thrust than required and/or optimal for attitude control. As aresult, where different propulsors have different power output demands,propulsors may be limited by the maximal potential available from atleast an energy source 108, limiting the actual power output to agreater degree relative to expected power output, so that propulsorscommanded to output higher power, which may be the most crucial tomaintaining attitude control, are limited to a greater degree. This cancause an electric aircraft to lose attitude control, with potentiallycatastrophic results. Systems and methods may avoid this outcome byensuring that reductions in propulsor power output are evenlydistributed, so that attitude control as dictated by relative poweroutput of propulsors is maintained, as set forth in further detailbelow.

Referring now to FIG. 6A, and for exemplary purposes only, a graphillustrates a scenario, which for purposes of discussion is denoted“Case B”, wherein at least an energy source 108 and/or one or moreenergy sources of at least an energy source 108 has insufficient powerdelivery capability to meet power demands to a plurality of propulsors.FIG. 6A has a vertical axis that denotes power in kilowatts and ahorizontal axis that denotes time in minutes. Individual power demandscorresponding to individual demands of each propulsor, and a sum of theindividual power demands, are shown in dotted lines. Available power(not shown) or an equivalent metric as disclosed herein may bedetermined to be insufficient to meet the sum of all demands, such thatan actual response by propulsors includes a lower total output. In anembodiment, in this scenario, at least an energy source 108 and/or oneor more energy sources of at least an energy source 108 may have itsterminal potential meet or surpass the lowest allowable potential forsafe operation power demand is not modified, so all propulsors will beimpacted. This may result in all propulsors consuming less power thanintended or determined as necessary for a vehicle control action asdescribed in further detail below. FIG. 6B has a vertical axis thatdenotes power in kilowatts and a horizontal axis that denotes time inminutes. FIG. 6B illustrates individual propulsor outputs and an outputcorresponding to a sum of all propulsors, shown in solid lines, as mightoccur without application of systems and methods as disclosed herein:certain propulsors may consume power at substantially higher levels thancertain other propulsors, resulting in a distribution of thrust thatdoes not match the proportional distribution of thrust as required tomaintain a commanded attitude. Moreover, distribution of powerconsumption may vary over time, causing unpredictable changes inattitude which may destabilize an aircraft, and which may result incalculations for stability maintenance beyond the capacity of controller112 and/or algorithms implemented thereon. Where system 100 hascalculated and applied a reduction factor as described in further detailin this disclosure, and as illustrated in FIG. 6C, the reduced powerconsumption of individual propulsors may be proportional to the demandedpower consumption, resulting in a thrust distribution that maintainsattitude in the commanded position, although the aggregate thrust is nogreater, and evolves more consistently over time. Like FIGS. 6A-B, FIG.6C has a vertical axis that denotes power in kilowatts and a horizontalaxis that denotes time in minutes. This may result in superior attitudecontrol, as described in further detail in this disclosure. Systems andmethods as described herein may thus enable reductions in power toplurality of propulsors to be performed in proportions maintainingpropulsors' relative torque-speed output to one another, maintainingattitude control, as described in further detail below. For instance,and as described in further detail below, flight controller may act tomaintain a pilot or flight controller-assigned position as against thehorizontal, such that, as a non-limiting example, an aircraft in the actof landing may fall vertically rather than flipping over or otherwisearriving in a damaging or otherwise undesirable orientation with respectto the ground.

Now referring to FIG. 7, an exemplary embodiment 700 of a flightcontroller 704 is illustrated. As used in this disclosure a “flightcontroller” is a computing device of a plurality of computing devicesdedicated to data storage, security, distribution of traffic for loadbalancing, and flight instruction. Flight controller 704 may includeand/or communicate with any computing device as described in thisdisclosure, including without limitation a microcontroller,microprocessor, digital signal processor (DSP) and/or system on a chip(SoC) as described in this disclosure. Further, flight controller 704may include a single computing device operating independently, or mayinclude two or more computing device operating in concert, in parallel,sequentially or the like; two or more computing devices may be includedtogether in a single computing device or in two or more computingdevices. In embodiments, flight controller 704 may be installed in anaircraft, may control the aircraft remotely, and/or may include anelement installed in the aircraft and a remote element in communicationtherewith.

In an embodiment, and still referring to FIG. 7, flight controller 704may include a signal transformation component 708. As used in thisdisclosure a “signal transformation component” is a component thattransforms and/or converts a first signal to a second signal, wherein asignal may include one or more digital and/or analog signals. Forexample, and without limitation, signal transformation component 708 maybe configured to perform one or more operations such as preprocessing,lexical analysis, parsing, semantic analysis, and the like thereof. Inan embodiment, and without limitation, signal transformation component708 may include one or more analog-to-digital convertors that transforma first signal of an analog signal to a second signal of a digitalsignal. For example, and without limitation, an analog-to-digitalconverter may convert an analog input signal to a 10-bit binary digitalrepresentation of that signal. In another embodiment, signaltransformation component 708 may include transforming one or morelow-level languages such as, but not limited to, machine languagesand/or assembly languages. For example, and without limitation, signaltransformation component 708 may include transforming a binary languagesignal to an assembly language signal. In an embodiment, and withoutlimitation, signal transformation component 708 may include transformingone or more high-level languages and/or formal languages such as but notlimited to alphabets, strings, and/or languages. For example, andwithout limitation, high-level languages may include one or more systemlanguages, scripting languages, domain-specific languages, visuallanguages, esoteric languages, and the like thereof. As a furthernon-limiting example, high-level languages may include one or morealgebraic formula languages, business data languages, string and listlanguages, object-oriented languages, and the like thereof.

Still referring to FIG. 7, signal transformation component 708 may beconfigured to optimize an intermediate representation 712. As used inthis disclosure an “intermediate representation” is a data structureand/or code that represents the input signal. Signal transformationcomponent 708 may optimize intermediate representation as a function ofa data-flow analysis, dependence analysis, alias analysis, pointeranalysis, escape analysis, and the like thereof. In an embodiment, andwithout limitation, signal transformation component 708 may optimizeintermediate representation 712 as a function of one or more inlineexpansions, dead code eliminations, constant propagation, looptransformations, and/or automatic parallelization functions. In anotherembodiment, signal transformation component 708 may optimizeintermediate representation as a function of a machine dependentoptimization such as a peephole optimization, wherein a peepholeoptimization may rewrite short sequences of code into more efficientsequences of code. Signal transformation component 708 may optimizeintermediate representation to generate an output language, wherein an“output language,” as used herein, is the native machine language offlight controller 704. For example, and without limitation, nativemachine language may include one or more binary and/or numericallanguages.

In an embodiment, and without limitation, signal transformationcomponent 708 may include transform one or more inputs and outputs as afunction of an error correction code. An error correction code, alsoknown as error correcting code (ECC), is an encoding of a message or lotof data using redundant information, permitting recovery of corrupteddata. An ECC may include a block code, in which information is encodedon fixed-size packets and/or blocks of data elements such as symbols ofpredetermined size, bits, or the like. Reed-Solomon coding, in whichmessage symbols within a symbol set having q symbols are encoded ascoefficients of a polynomial of degree less than or equal to a naturalnumber k, over a finite field F with q elements; strings so encoded havea minimum hamming distance of k+1, and permit correction of (q−k−1)/2erroneous symbols. Block code may alternatively or additionally beimplemented using Golay coding, also known as binary Golay coding,Bose-Chaudhuri, Hocquenghuem (BCH) coding, multidimensional parity-checkcoding, and/or Hamming codes. An ECC may alternatively or additionallybe based on a convolutional code.

In an embodiment, and still referring to FIG. 7, flight controller 704may include a reconfigurable hardware platform 716. A “reconfigurablehardware platform,” as used herein, is a component and/or unit ofhardware that may be reprogrammed, such that, for instance, a data pathbetween elements such as logic gates or other digital circuit elementsmay be modified to change an algorithm, state, logical sequence, or thelike of the component and/or unit. This may be accomplished with suchflexible high-speed computing fabrics as field-programmable gate arrays(FPGAs), which may include a grid of interconnected logic gates,connections between which may be severed and/or restored to program inmodified logic. Reconfigurable hardware platform 716 may be reconfiguredto enact any algorithm and/or algorithm selection process received fromanother computing device and/or created using machine-learningprocesses.

Still referring to FIG. 7, reconfigurable hardware platform 716 mayinclude a logic component 720. As used in this disclosure a “logiccomponent” is a component that executes instructions on output language.For example, and without limitation, logic component may perform basicarithmetic, logic, controlling, input/output operations, and the likethereof. Logic component 720 may include any suitable processor, such aswithout limitation a component incorporating logical circuitry forperforming arithmetic and logical operations, such as an arithmetic andlogic unit (ALU), which may be regulated with a state machine anddirected by operational inputs from memory and/or sensors; logiccomponent 720 may be organized according to Von Neumann and/or Harvardarchitecture as a non-limiting example. Logic component 720 may include,incorporate, and/or be incorporated in, without limitation, amicrocontroller, microprocessor, digital signal processor (DSP), FieldProgrammable Gate Array (FPGA), Complex Programmable Logic Device(CPLD), Graphical Processing Unit (GPU), general purpose GPU, TensorProcessing Unit (TPU), analog or mixed signal processor, TrustedPlatform Module (TPM), a floating-point unit (FPU), and/or system on achip (SoC). In an embodiment, logic component 720 may include one ormore integrated circuit microprocessors, which may contain one or morecentral processing units, central processors, and/or main processors, ona single metal-oxide-semiconductor chip. Logic component 720 may beconfigured to execute a sequence of stored instructions to be performedon the output language and/or intermediate representation 712. Logiccomponent 720 may be configured to fetch and/or retrieve the instructionfrom a memory cache, wherein a “memory cache,” as used in thisdisclosure, is a stored instruction set on flight controller 704. Logiccomponent 720 may be configured to decode the instruction retrieved fromthe memory cache to opcodes and/or operands. Logic component 720 may beconfigured to execute the instruction on intermediate representation 712and/or output language. For example, and without limitation, logiccomponent 720 may be configured to execute an addition operation onintermediate representation 712 and/or output language.

In an embodiment, and without limitation, logic component 720 may beconfigured to calculate a flight element 724. As used in this disclosurea “flight element” is an element of datum denoting a relative status ofaircraft. For example, and without limitation, flight element 724 maydenote one or more torques, thrusts, airspeed velocities, forces,altitudes, groundspeed velocities, directions during flight, directionsfacing, forces, orientations, and the like thereof. For example, andwithout limitation, flight element 724 may denote that aircraft iscruising at an altitude and/or with a sufficient magnitude of forwardthrust. As a further non-limiting example, flight status may denote thatis building thrust and/or groundspeed velocity in preparation for atakeoff. As a further non-limiting example, flight element 724 maydenote that aircraft is following a flight path accurately and/orsufficiently.

Still referring to FIG. 7, flight controller 704 may include a chipsetcomponent 728. As used in this disclosure a “chipset component” is acomponent that manages data flow. In an embodiment, and withoutlimitation, chipset component 728 may include a northbridge data flowpath, wherein the northbridge dataflow path may manage data flow fromlogic component 720 to a high-speed device and/or component, such as aRAM, graphics controller, and the like thereof. In another embodiment,and without limitation, chipset component 728 may include a southbridgedata flow path, wherein the southbridge dataflow path may manage dataflow from logic component 720 to lower-speed peripheral buses, such as aperipheral component interconnect (PCI), industry standard architecture(ICA), and the like thereof. In an embodiment, and without limitation,southbridge data flow path may include managing data flow betweenperipheral connections such as ethernet, USB, audio devices, and thelike thereof. Additionally or alternatively, chipset component 728 maymanage data flow between logic component 720, memory cache, and a flightcomponent 732. As used in this disclosure a “flight component” is aportion of an aircraft that can be moved or adjusted to affect one ormore flight elements. For example, flight component 732 may include acomponent used to affect the aircrafts' roll and pitch which maycomprise one or more ailerons. As a further example, flight component732 may include a rudder to control yaw of an aircraft. In anembodiment, chipset component 728 may be configured to communicate witha plurality of flight components as a function of flight element 724.For example, and without limitation, chipset component 728 may transmitto an aircraft rotor to reduce torque of a first lift propulsor andincrease the forward thrust produced by a pusher component to perform aflight maneuver.

In an embodiment, and still referring to FIG. 7, flight controller 704may be configured generate an autonomous function. As used in thisdisclosure an “autonomous function” is a mode and/or function of flightcontroller 704 that controls aircraft automatically. For example, andwithout limitation, autonomous function may perform one or more aircraftmaneuvers, take offs, landings, altitude adjustments, flight levelingadjustments, turns, climbs, and/or descents. As a further non-limitingexample, autonomous function may adjust one or more airspeed velocities,thrusts, torques, and/or groundspeed velocities. As a furthernon-limiting example, autonomous function may perform one or more flightpath corrections and/or flight path modifications as a function offlight element 724. In an embodiment, autonomous function may includeone or more modes of autonomy such as, but not limited to, autonomousmode, semi-autonomous mode, and/or non-autonomous mode. As used in thisdisclosure “autonomous mode” is a mode that automatically adjusts and/orcontrols aircraft and/or the maneuvers of aircraft in its entirety. Forexample, autonomous mode may denote that flight controller 704 willadjust the aircraft. As used in this disclosure a “semi-autonomous mode”is a mode that automatically adjusts and/or controls a portion and/orsection of aircraft. For example, and without limitation,semi-autonomous mode may denote that a pilot will control thepropulsors, wherein flight controller 704 will control the aileronsand/or rudders. As used in this disclosure “non-autonomous mode” is amode that denotes a pilot will control aircraft and/or maneuvers ofaircraft in its entirety.

In an embodiment, and still referring to FIG. 7, flight controller 704may generate autonomous function as a function of an autonomousmachine-learning model. As used in this disclosure an “autonomousmachine-learning model” is a machine-learning model to produce anautonomous function output given flight element 724 and a pilot signal736 as inputs; this is in contrast to a non-machine learning softwareprogram where the commands to be executed are determined in advance by auser and written in a programming language. As used in this disclosure a“pilot signal” is an element of datum representing one or more functionsa pilot is controlling and/or adjusting. For example, pilot signal 736may denote that a pilot is controlling and/or maneuvering ailerons,wherein the pilot is not in control of the rudders and/or propulsors. Inan embodiment, pilot signal 736 may include an implicit signal and/or anexplicit signal. For example, and without limitation, pilot signal 736may include an explicit signal, wherein the pilot explicitly statesthere is a lack of control and/or desire for autonomous function. As afurther non-limiting example, pilot signal 736 may include an explicitsignal directing flight controller 704 to control and/or maintain aportion of aircraft, a portion of the flight plan, the entire aircraft,and/or the entire flight plan. As a further non-limiting example, pilotsignal 736 may include an implicit signal, wherein flight controller 704detects a lack of control such as by a malfunction, torque alteration,flight path deviation, and the like thereof. In an embodiment, andwithout limitation, pilot signal 736 may include one or more explicitsignals to reduce torque, and/or one or more implicit signals thattorque may be reduced due to reduction of airspeed velocity. In anembodiment, and without limitation, pilot signal 736 may include one ormore local and/or global signals. For example, and without limitation,pilot signal 736 may include a local signal that is transmitted by apilot and/or crew member. As a further non-limiting example, pilotsignal 736 may include a global signal that is transmitted by airtraffic control and/or one or more remote users that are incommunication with the pilot of aircraft. In an embodiment, pilot signal736 may be received as a function of a tri-state bus and/or multiplexorthat denotes an explicit pilot signal should be transmitted prior to anyimplicit or global pilot signal.

Still referring to FIG. 7, autonomous machine-learning model may includeone or more autonomous machine-learning processes such as supervised,unsupervised, or reinforcement machine-learning processes that flightcontroller 704 and/or a remote device may or may not use in thegeneration of autonomous function. As used in this disclosure “remotedevice” is an external device to flight controller 704. Additionally oralternatively, autonomous machine-learning model may include one or moreautonomous machine-learning processes that a field-programmable gatearray (FPGA) may or may not use in the generation of autonomousfunction. Autonomous machine-learning process may include, withoutlimitation machine learning processes such as simple linear regression,multiple linear regression, polynomial regression, support vectorregression, ridge regression, lasso regression, elasticnet regression,decision tree regression, random forest regression, logistic regression,logistic classification, K-nearest neighbors, support vector machines,kernel support vector machines, naïve bayes, decision treeclassification, random forest classification, K-means clustering,hierarchical clustering, dimensionality reduction, principal componentanalysis, linear discriminant analysis, kernel principal componentanalysis, Q-learning, State Action Reward State Action (SARSA), Deep-Qnetwork, Markov decision processes, Deep Deterministic Policy Gradient(DDPG), or the like thereof.

In an embodiment, and still referring to FIG. 7, autonomous machinelearning model may be trained as a function of autonomous training data,wherein autonomous training data may correlate a flight element, pilotsignal, and/or simulation data to an autonomous function. For example,and without limitation, a flight element of an airspeed velocity, apilot signal of limited and/or no control of propulsors, and asimulation data of required airspeed velocity to reach the destinationmay result in an autonomous function that includes a semi-autonomousmode to increase thrust of the propulsors. Autonomous training data maybe received as a function of user-entered valuations of flight elements,pilot signals, simulation data, and/or autonomous functions. Flightcontroller 704 may receive autonomous training data by receivingcorrelations of flight element, pilot signal, and/or simulation data toan autonomous function that were previously received and/or determinedduring a previous iteration of generation of autonomous function.Autonomous training data may be received by one or more remote devicesand/or FPGAs that at least correlate a flight element, pilot signal,and/or simulation data to an autonomous function. Autonomous trainingdata may be received in the form of one or more user-enteredcorrelations of a flight element, pilot signal, and/or simulation datato an autonomous function.

Still referring to FIG. 7, flight controller 704 may receive autonomousmachine-learning model from a remote device and/or FPGA that utilizesone or more autonomous machine learning processes, wherein a remotedevice and an FPGA is described above in detail. For example, andwithout limitation, a remote device may include a computing device,external device, processor, FPGA, microprocessor and the like thereof.Remote device and/or FPGA may perform the autonomous machine-learningprocess using autonomous training data to generate autonomous functionand transmit the output to flight controller 704. Remote device and/orFPGA may transmit a signal, bit, datum, or parameter to flightcontroller 704 that at least relates to autonomous function.Additionally or alternatively, the remote device and/or FPGA may providean updated machine-learning model. For example, and without limitation,an updated machine-learning model may be comprised of a firmware update,a software update, an autonomous machine-learning process correction,and the like thereof. As a non-limiting example a software update mayincorporate a new simulation data that relates to a modified flightelement. Additionally or alternatively, the updated machine learningmodel may be transmitted to the remote device and/or FPGA, wherein theremote device and/or FPGA may replace the autonomous machine-learningmodel with the updated machine-learning model and generate theautonomous function as a function of the flight element, pilot signal,and/or simulation data using the updated machine-learning model. Theupdated machine-learning model may be transmitted by the remote deviceand/or FPGA and received by flight controller 704 as a software update,firmware update, or corrected habit machine-learning model. For example,and without limitation autonomous machine learning model may utilize aneural net machine-learning process, wherein the updatedmachine-learning model may incorporate a gradient boostingmachine-learning process.

Still referring to FIG. 7, flight controller 704 may include, beincluded in, and/or communicate with a mobile device such as a mobiletelephone or smartphone. Further, flight controller may communicate withone or more additional devices as described below in further detail viaa network interface device. The network interface device may be utilizedfor commutatively connecting a flight controller to one or more of avariety of networks, and one or more devices. Examples of a networkinterface device include, but are not limited to, a network interfacecard (e.g., a mobile network interface card, a LAN card), a modem, andany combination thereof. Examples of a network include, but are notlimited to, a wide area network (e.g., the Internet, an enterprisenetwork), a local area network (e.g., a network associated with anoffice, a building, a campus or other relatively small geographicspace), a telephone network, a data network associated with atelephone/voice provider (e.g., a mobile communications provider dataand/or voice network), a direct connection between two computingdevices, and any combinations thereof. The network may include anynetwork topology and can may employ a wired and/or a wireless mode ofcommunication.

In an embodiment, and still referring to FIG. 7, flight controller 704may include, but is not limited to, for example, a cluster of flightcontrollers in a first location and a second flight controller orcluster of flight controllers in a second location. Flight controller704 may include one or more flight controllers dedicated to datastorage, security, distribution of traffic for load balancing, and thelike. Flight controller 704 may be configured to distribute one or morecomputing tasks as described below across a plurality of flightcontrollers, which may operate in parallel, in series, redundantly, orin any other manner used for distribution of tasks or memory betweencomputing devices. For example, and without limitation, flightcontroller 704 may implement a control algorithm to distribute and/orcommand the plurality of flight controllers. As used in this disclosurea “control algorithm” is a finite sequence of well-defined computerimplementable instructions that may determine the flight component ofthe plurality of flight components to be adjusted. For example, andwithout limitation, control algorithm may include one or more algorithmsthat reduce and/or prevent aviation asymmetry. As a further non-limitingexample, control algorithms may include one or more models generated asa function of a software including, but not limited to Simulink byMathWorks, Natick, Mass., USA. In an embodiment, and without limitation,control algorithm may be configured to generate an auto-code, wherein an“auto-code,” is used herein, is a code and/or algorithm that isgenerated as a function of the one or more models and/or software's. Inanother embodiment, control algorithm may be configured to produce asegmented control algorithm. As used in this disclosure a “segmentedcontrol algorithm” is control algorithm that has been separated and/orparsed into discrete sections. For example, and without limitation,segmented control algorithm may parse control algorithm into two or moresegments, wherein each segment of control algorithm may be performed byone or more flight controllers operating on distinct flight components.

In an embodiment, and still referring to FIG. 7, control algorithm maybe configured to determine a segmentation boundary as a function ofsegmented control algorithm. As used in this disclosure a “segmentationboundary” is a limit and/or delineation associated with the segments ofthe segmented control algorithm. For example, and without limitation,segmentation boundary may denote that a segment in the control algorithmhas a first starting section and/or a first ending section. As a furthernon-limiting example, segmentation boundary may include one or moreboundaries associated with an ability of flight component 732. In anembodiment, control algorithm may be configured to create an optimizedsignal communication as a function of segmentation boundary. Forexample, and without limitation, optimized signal communication mayinclude identifying the discrete timing required to transmit and/orreceive the one or more segmentation boundaries. In an embodiment, andwithout limitation, creating optimized signal communication furthercomprises separating a plurality of signal codes across the plurality offlight controllers. For example, and without limitation the plurality offlight controllers may include one or more formal networks, whereinformal networks transmit data along an authority chain and/or arelimited to task-related communications. As a further non-limitingexample, communication network may include informal networks, whereininformal networks transmit data in any direction. In an embodiment, andwithout limitation, the plurality of flight controllers may include achain path, wherein a “chain path,” as used herein, is a linearcommunication path comprising a hierarchy that data may flow through. Inan embodiment, and without limitation, the plurality of flightcontrollers may include an all-channel path, wherein an “all-channelpath,” as used herein, is a communication path that is not restricted toa particular direction. For example, and without limitation, data may betransmitted upward, downward, laterally, and the like thereof. In anembodiment, and without limitation, the plurality of flight controllersmay include one or more neural networks that assign a weighted value toa transmitted datum. For example, and without limitation, a weightedvalue may be assigned as a function of one or more signals denoting thata flight component is malfunctioning and/or in a failure state.

Still referring to FIG. 7, the plurality of flight controllers mayinclude a master bus controller. As used in this disclosure a “masterbus controller” is one or more devices and/or components that areconnected to a bus to initiate a direct memory access transaction,wherein a bus is one or more terminals in a bus architecture. Master buscontroller may communicate using synchronous and/or asynchronous buscontrol protocols. In an embodiment, master bus controller may includeflight controller 704. In another embodiment, master bus controller mayinclude one or more universal asynchronous receiver-transmitters (UART).For example, and without limitation, master bus controller may includeone or more bus architectures that allow a bus to initiate a directmemory access transaction from one or more buses in the busarchitectures. As a further non-limiting example, master bus controllermay include one or more peripheral devices and/or components tocommunicate with another peripheral device and/or component and/or themaster bus controller. In an embodiment, master bus controller may beconfigured to perform bus arbitration. As used in this disclosure “busarbitration” is method and/or scheme to prevent multiple buses fromattempting to communicate with and/or connect to master bus controller.For example and without limitation, bus arbitration may include one ormore schemes such as a small computer interface system, wherein a smallcomputer interface system is a set of standards for physical connectingand transferring data between peripheral devices and master buscontroller by defining commands, protocols, electrical, optical, and/orlogical interfaces. In an embodiment, master bus controller may receiveintermediate representation 712 and/or output language from logiccomponent 720, wherein output language may include one or moreanalog-to-digital conversions, low bit rate transmissions, messageencryptions, digital signals, binary signals, logic signals, analogsignals, and the like thereof described above in detail.

Still referring to FIG. 7, master bus controller may communicate with aslave bus. As used in this disclosure a “slave bus” is one or moreperipheral devices and/or components that initiate a bus transfer. Forexample, and without limitation, slave bus may receive one or morecontrols and/or asymmetric communications from master bus controller,wherein slave bus transfers data stored to master bus controller. In anembodiment, and without limitation, slave bus may include one or moreinternal buses, such as but not limited to a/an internal data bus,memory bus, system bus, front-side bus, and the like thereof. In anotherembodiment, and without limitation, slave bus may include one or moreexternal buses such as external flight controllers, external computers,remote devices, printers, aircraft computer systems, flight controlsystems, and the like thereof.

In an embodiment, and still referring to FIG. 7, control algorithm mayoptimize signal communication as a function of determining one or morediscrete timings. For example, and without limitation master buscontroller may synchronize timing of the segmented control algorithm byinjecting high priority timing signals on a bus of the master buscontrol. As used in this disclosure a “high priority timing signal” isinformation denoting that the information is important. For example, andwithout limitation, high priority timing signal may denote that asection of control algorithm is of high priority and should be analyzedand/or transmitted prior to any other sections being analyzed and/ortransmitted. In an embodiment, high priority timing signal may includeone or more priority packets. As used in this disclosure a “prioritypacket” is a formatted unit of data that is communicated between theplurality of flight controllers. For example, and without limitation,priority packet may denote that a section of control algorithm should beused and/or is of greater priority than other sections.

Still referring to FIG. 7, flight controller 704 may also be implementedusing a “shared nothing” architecture in which data is cached at theworker, in an embodiment, this may enable scalability of aircraft and/orcomputing device. Flight controller 704 may include a distributer flightcontroller. As used in this disclosure a “distributer flight controller”is a component that adjusts and/or controls a plurality of flightcomponents as a function of a plurality of flight controllers. Forexample, distributer flight controller may include a flight controllerthat communicates with a plurality of additional flight controllersand/or clusters of flight controllers. In an embodiment, distributedflight control may include one or more neural networks. For example,neural network also known as an artificial neural network, is a networkof “nodes,” or data structures having one or more inputs, one or moreoutputs, and a function determining outputs based on inputs. Such nodesmay be organized in a network, such as without limitation aconvolutional neural network, including an input layer of nodes, one ormore intermediate layers, and an output layer of nodes. Connectionsbetween nodes may be created via the process of “training” the network,in which elements from a training dataset are applied to the inputnodes, a suitable training algorithm (such as Levenberg-Marquardt,conjugate gradient, simulated annealing, or other algorithms) is thenused to adjust the connections and weights between nodes in adjacentlayers of the neural network to produce the desired values at the outputnodes. This process is sometimes referred to as deep learning.

Still referring to FIG. 7, a node may include, without limitation aplurality of inputs x_(i) that may receive numerical values from inputsto a neural network containing the node and/or from other nodes. Nodemay perform a weighted sum of inputs using weights w_(i) that aremultiplied by respective inputs x_(i). Additionally or alternatively, abias b may be added to the weighted sum of the inputs such that anoffset is added to each unit in the neural network layer that isindependent of the input to the layer. The weighted sum may then beinput into a function φ, which may generate one or more outputs y.Weight w_(i) applied to an input x_(i) may indicate whether the input is“excitatory,” indicating that it has strong influence on the one or moreoutputs y, for instance by the corresponding weight having a largenumerical value, and/or a “inhibitory,” indicating it has a weak effectinfluence on the one more inputs y, for instance by the correspondingweight having a small numerical value. The values of weights w_(i) maybe determined by training a neural network using training data, whichmay be performed using any suitable process as described above. In anembodiment, and without limitation, a neural network may receivesemantic units as inputs and output vectors representing such semanticunits according to weights w_(i) that are derived using machine-learningprocesses as described in this disclosure.

Still referring to FIG. 7, flight controller may include asub-controller 740. As used in this disclosure a “sub-controller” is acontroller and/or component that is part of a distributed controller asdescribed above; for instance, flight controller 704 may be and/orinclude a distributed flight controller made up of one or moresub-controllers. For example, and without limitation, sub-controller 740may include any controllers and/or components thereof that are similarto distributed flight controller and/or flight controller as describedabove. Sub-controller 740 may include any component of any flightcontroller as described above. Sub-controller 740 may be implemented inany manner suitable for implementation of a flight controller asdescribed above. As a further non-limiting example, sub-controller 740may include one or more processors, logic components and/or computingdevices capable of receiving, processing, and/or transmitting dataacross the distributed flight controller as described above. As afurther non-limiting example, sub-controller 740 may include acontroller that receives a signal from a first flight controller and/orfirst distributed flight controller component and transmits the signalto a plurality of additional sub-controllers and/or flight components.

Still referring to FIG. 7, flight controller may include a co-controller744. As used in this disclosure a “co-controller” is a controller and/orcomponent that joins flight controller 704 as components and/or nodes ofa distributer flight controller as described above. For example, andwithout limitation, co-controller 744 may include one or morecontrollers and/or components that are similar to flight controller 704.As a further non-limiting example, co-controller 744 may include anycontroller and/or component that joins flight controller 704 todistributer flight controller. As a further non-limiting example,co-controller 744 may include one or more processors, logic componentsand/or computing devices capable of receiving, processing, and/ortransmitting data to and/or from flight controller 704 to distributedflight control system. Co-controller 744 may include any component ofany flight controller as described above. Co-controller 744 may beimplemented in any manner suitable for implementation of a flightcontroller as described above.

In an embodiment, and with continued reference to FIG. 7, flightcontroller 704 may be designed and/or configured to perform any method,method step, or sequence of method steps in any embodiment described inthis disclosure, in any order and with any degree of repetition. Forinstance, flight controller 704 may be configured to perform a singlestep or sequence repeatedly until a desired or commanded outcome isachieved; repetition of a step or a sequence of steps may be performediteratively and/or recursively using outputs of previous repetitions asinputs to subsequent repetitions, aggregating inputs and/or outputs ofrepetitions to produce an aggregate result, reduction or decrement ofone or more variables such as global variables, and/or division of alarger processing task into a set of iteratively addressed smallerprocessing tasks. Flight controller may perform any step or sequence ofsteps as described in this disclosure in parallel, such assimultaneously and/or substantially simultaneously performing a step twoor more times using two or more parallel threads, processor cores, orthe like; division of tasks between parallel threads and/or processesmay be performed according to any protocol suitable for division oftasks between iterations. Persons skilled in the art, upon reviewing theentirety of this disclosure, will be aware of various ways in whichsteps, sequences of steps, processing tasks, and/or data may besubdivided, shared, or otherwise dealt with using iteration, recursion,and/or parallel processing.

Referring now to FIG. 8, an exemplary embodiment of a machine-learningmodule 800 that may perform one or more machine-learning processes asdescribed in this disclosure is illustrated. Machine-learning module mayperform determinations, classification, and/or analysis steps, methods,processes, or the like as described in this disclosure using machinelearning processes. A “machine learning process,” as used in thisdisclosure, is a process that automatedly uses training data 804 togenerate an algorithm that will be performed by a computingdevice/module to produce outputs 808 given data provided as inputs 812;this is in contrast to a non-machine learning software program where thecommands to be executed are determined in advance by a user and writtenin a programming language.

Still referring to FIG. 8, “training data,” as used herein, is datacontaining correlations that a machine-learning process may use to modelrelationships between two or more categories of data elements. Forinstance, and without limitation, training data 804 may include aplurality of data entries, each entry representing a set of dataelements that were recorded, received, and/or generated together; dataelements may be correlated by shared existence in a given data entry, byproximity in a given data entry, or the like. Multiple data entries intraining data 804 may evince one or more trends in correlations betweencategories of data elements; for instance, and without limitation, ahigher value of a first data element belonging to a first category ofdata element may tend to correlate to a higher value of a second dataelement belonging to a second category of data element, indicating apossible proportional or other mathematical relationship linking valuesbelonging to the two categories. Multiple categories of data elementsmay be related in training data 804 according to various correlations;correlations may indicate causative and/or predictive links betweencategories of data elements, which may be modeled as relationships suchas mathematical relationships by machine-learning processes as describedin further detail below. Training data 804 may be formatted and/ororganized by categories of data elements, for instance by associatingdata elements with one or more descriptors corresponding to categoriesof data elements. As a non-limiting example, training data 804 mayinclude data entered in standardized forms by persons or processes, suchthat entry of a given data element in a given field in a form may bemapped to one or more descriptors of categories. Elements in trainingdata 804 may be linked to descriptors of categories by tags, tokens, orother data elements; for instance, and without limitation, training data804 may be provided in fixed-length formats, formats linking positionsof data to categories such as comma-separated value (CSV) formats and/orself-describing formats such as extensible markup language (XML),JavaScript Object Notation (JSON), or the like, enabling processes ordevices to detect categories of data.

Alternatively or additionally, and continuing to refer to FIG. 8,training data 804 may include one or more elements that are notcategorized; that is, training data 804 may not be formatted or containdescriptors for some elements of data. Machine-learning algorithmsand/or other processes may sort training data 804 according to one ormore categorizations using, for instance, natural language processingalgorithms, tokenization, detection of correlated values in raw data andthe like; categories may be generated using correlation and/or otherprocessing algorithms. As a non-limiting example, in a corpus of text,phrases making up a number “n” of compound words, such as nouns modifiedby other nouns, may be identified according to a statisticallysignificant prevalence of n-grams containing such words in a particularorder; such an n-gram may be categorized as an element of language suchas a “word” to be tracked similarly to single words, generating a newcategory as a result of statistical analysis. Similarly, in a data entryincluding some textual data, a person's name may be identified byreference to a list, dictionary, or other compendium of terms,permitting ad-hoc categorization by machine-learning algorithms, and/orautomated association of data in the data entry with descriptors or intoa given format. The ability to categorize data entries automatedly mayenable the same training data 804 to be made applicable for two or moredistinct machine-learning algorithms as described in further detailbelow. Training data 804 used by machine-learning module 800 maycorrelate any input data as described in this disclosure to any outputdata as described in this disclosure. As a non-limiting illustrativeexample flight elements and/or pilot signals may be inputs, wherein anoutput may be an autonomous function.

Further referring to FIG. 8, training data may be filtered, sorted,and/or selected using one or more supervised and/or unsupervisedmachine-learning processes and/or models as described in further detailbelow; such models may include without limitation a training dataclassifier 816. Training data classifier 816 may include a “classifier,”which as used in this disclosure is a machine-learning model as definedbelow, such as a mathematical model, neural net, or program generated bya machine learning algorithm known as a “classification algorithm,” asdescribed in further detail below, that sorts inputs into categories orbins of data, outputting the categories or bins of data and/or labelsassociated therewith. A classifier may be configured to output at leasta datum that labels or otherwise identifies a set of data that areclustered together, found to be close under a distance metric asdescribed below, or the like. Machine-learning module 800 may generate aclassifier using a classification algorithm, defined as a processeswhereby a computing device and/or any module and/or component operatingthereon derives a classifier from training data 804. Classification maybe performed using, without limitation, linear classifiers such aswithout limitation logistic regression and/or naive Bayes classifiers,nearest neighbor classifiers such as k-nearest neighbors classifiers,support vector machines, least squares support vector machines, fisher'slinear discriminant, quadratic classifiers, decision trees, boostedtrees, random forest classifiers, learning vector quantization, and/orneural network-based classifiers. As a non-limiting example, trainingdata classifier 416 may classify elements of training data tosub-categories of flight elements such as torques, forces, thrusts,directions, and the like thereof.

Still referring to FIG. 8, machine-learning module 800 may be configuredto perform a lazy-learning process 820 and/or protocol, which mayalternatively be referred to as a “lazy loading” or “call-when-needed”process and/or protocol, may be a process whereby machine learning isconducted upon receipt of an input to be converted to an output, bycombining the input and training set to derive the algorithm to be usedto produce the output on demand. For instance, an initial set ofsimulations may be performed to cover an initial heuristic and/or “firstguess” at an output and/or relationship. As a non-limiting example, aninitial heuristic may include a ranking of associations between inputsand elements of training data 804. Heuristic may include selecting somenumber of highest-ranking associations and/or training data 804elements. Lazy learning may implement any suitable lazy learningalgorithm, including without limitation a K-nearest neighbors algorithm,a lazy naïve Bayes algorithm, or the like; persons skilled in the art,upon reviewing the entirety of this disclosure, will be aware of variouslazy-learning algorithms that may be applied to generate outputs asdescribed in this disclosure, including without limitation lazy learningapplications of machine-learning algorithms as described in furtherdetail below.

Alternatively or additionally, and with continued reference to FIG. 8,machine-learning processes as described in this disclosure may be usedto generate machine-learning models 824. A “machine-learning model,” asused in this disclosure, is a mathematical and/or algorithmicrepresentation of a relationship between inputs and outputs, asgenerated using any machine-learning process including withoutlimitation any process as described above, and stored in memory; aninput is submitted to a machine-learning model 824 once created, whichgenerates an output based on the relationship that was derived. Forinstance, and without limitation, a linear regression model, generatedusing a linear regression algorithm, may compute a linear combination ofinput data using coefficients derived during machine-learning processesto calculate an output datum. As a further non-limiting example, amachine-learning model 824 may be generated by creating an artificialneural network, such as a convolutional neural network comprising aninput layer of nodes, one or more intermediate layers, and an outputlayer of nodes. Connections between nodes may be created via the processof “training” the network, in which elements from a training data 804set are applied to the input nodes, a suitable training algorithm (suchas Levenberg-Marquardt, conjugate gradient, simulated annealing, orother algorithms) is then used to adjust the connections and weightsbetween nodes in adjacent layers of the neural network to produce thedesired values at the output nodes. This process is sometimes referredto as deep learning.

Still referring to FIG. 8, machine-learning algorithms may include atleast a supervised machine-learning process 828. At least a supervisedmachine-learning process 828, as defined herein, include algorithms thatreceive a training set relating a number of inputs to a number ofoutputs, and seek to find one or more mathematical relations relatinginputs to outputs, where each of the one or more mathematical relationsis optimal according to some criterion specified to the algorithm usingsome scoring function. For instance, a supervised learning algorithm mayinclude flight elements and/or pilot signals as described above asinputs, autonomous functions as outputs, and a scoring functionrepresenting a desired form of relationship to be detected betweeninputs and outputs; scoring function may, for instance, seek to maximizethe probability that a given input and/or combination of elements inputsis associated with a given output to minimize the probability that agiven input is not associated with a given output. Scoring function maybe expressed as a risk function representing an “expected loss” of analgorithm relating inputs to outputs, where loss is computed as an errorfunction representing a degree to which a prediction generated by therelation is incorrect when compared to a given input-output pairprovided in training data 804. Persons skilled in the art, uponreviewing the entirety of this disclosure, will be aware of variouspossible variations of at least a supervised machine-learning process828 that may be used to determine relation between inputs and outputs.Supervised machine-learning processes may include classificationalgorithms as defined above.

Further referring to FIG. 8, machine learning processes may include atleast an unsupervised machine-learning processes 832. An unsupervisedmachine-learning process, as used herein, is a process that derivesinferences in datasets without regard to labels; as a result, anunsupervised machine-learning process may be free to discover anystructure, relationship, and/or correlation provided in the data.Unsupervised processes may not require a response variable; unsupervisedprocesses may be used to find interesting patterns and/or inferencesbetween variables, to determine a degree of correlation between two ormore variables, or the like.

Still referring to FIG. 8, machine-learning module 800 may be designedand configured to create a machine-learning model 824 using techniquesfor development of linear regression models. Linear regression modelsmay include ordinary least squares regression, which aims to minimizethe square of the difference between predicted outcomes and actualoutcomes according to an appropriate norm for measuring such adifference (e.g. a vector-space distance norm); coefficients of theresulting linear equation may be modified to improve minimization.Linear regression models may include ridge regression methods, where thefunction to be minimized includes the least-squares function plus termmultiplying the square of each coefficient by a scalar amount topenalize large coefficients. Linear regression models may include leastabsolute shrinkage and selection operator (LASSO) models, in which ridgeregression is combined with multiplying the least-squares term by afactor of 1 divided by double the number of samples. Linear regressionmodels may include a multi-task lasso model wherein the norm applied inthe least-squares term of the lasso model is the Frobenius normamounting to the square root of the sum of squares of all terms. Linearregression models may include the elastic net model, a multi-taskelastic net model, a least angle regression model, a LARS lasso model,an orthogonal matching pursuit model, a Bayesian regression model, alogistic regression model, a stochastic gradient descent model, aperceptron model, a passive aggressive algorithm, a robustnessregression model, a Huber regression model, or any other suitable modelthat may occur to persons skilled in the art upon reviewing the entiretyof this disclosure. Linear regression models may be generalized in anembodiment to polynomial regression models, whereby a polynomialequation (e.g. a quadratic, cubic or higher-order equation) providing abest predicted output/actual output fit is sought; similar methods tothose described above may be applied to minimize error functions, aswill be apparent to persons skilled in the art upon reviewing theentirety of this disclosure.

Continuing to refer to FIG. 8, machine-learning algorithms may include,without limitation, linear discriminant analysis. Machine-learningalgorithm may include quadratic discriminate analysis. Machine-learningalgorithms may include kernel ridge regression. Machine-learningalgorithms may include support vector machines, including withoutlimitation support vector classification-based regression processes.Machine-learning algorithms may include stochastic gradient descentalgorithms, including classification and regression algorithms based onstochastic gradient descent. Machine-learning algorithms may includenearest neighbors algorithms. Machine-learning algorithms may includeGaussian processes such as Gaussian Process Regression. Machine-learningalgorithms may include cross-decomposition algorithms, including partialleast squares and/or canonical correlation analysis. Machine-learningalgorithms may include naïve Bayes methods. Machine-learning algorithmsmay include algorithms based on decision trees, such as decision treeclassification or regression algorithms. Machine-learning algorithms mayinclude ensemble methods such as bagging meta-estimator, forest ofrandomized tress, AdaBoost, gradient tree boosting, and/or votingclassifier methods. Machine-learning algorithms may include neural netalgorithms, including convolutional neural net processes.

Referring now to FIG. 7, an exemplary embodiment of a method 900 ofmaintaining attitude control of an electronic multi-propulsion systemunder degraded or depleted energy source conditions is illustrated. Atstep 905, a vehicle controller 112 communicatively coupled to aplurality of propulsors 104 a-n powered by at least an energy source108, determines commands for the plurality of propulsors 104 a-n.Commands for plurality of propulsors may include a command for eachpropulsor of the plurality of propulsors. Commands may include anycommands described in this disclosure, for instance with reference toFIGS. 1-8. In some embodiments, step 905 may additionally includedetermining commands as a function of an autonomous function. Autonomousfunction may include any autonomous function and/or autonomous modedescribed in this disclosure, for instance with reference to FIGS. 1-8.In some embodiments, step 905 may additionally include receivingcommands from a remote device. Remote device may include any remotedevice described in this disclosure, for instance in reference to FIGS.1-8. Vehicle controller may receive commands from a remote device usingany network and/or communications methods described in this disclosure,including for example those described with reference to FIGS. 1-8 andFIG. 10.

With continued reference to FIG. 9, at step 910, a vehicle controller112 calculates initial power levels for the plurality of propulsors 104a-n; initial power levels include an initial power level for eachpropulsor of the plurality of propulsors 104 a-n. Initial power levelsmay be calculated as a function of commands. For example, in some cases,commands may be transmitted to propulsors causing propulsors may beresponding to commands and initial power levels may be measured,estimated, detected, or otherwise determined. Alternatively oradditionally, in some cases, initial power levels may be simulated,estimated, modeled, or otherwise determined without transmittingcommands to propulsors. In some cases, commands are intended to operateaircraft according to a desired flight plan and/or maneuver. Initialpower levels may be expressed in terms of any circuit parameter and/orpropulsor parameter corresponding to a degree of power consumption ofpropulsors of plurality of propulsors 104 a-n. As a non-limitingexample, propulsors may be commanded in terms of propulsor torque.Initial power levels may include, without limitation, one or moredesired or intended power levels. Vehicle controller 112 may calculateeach initial power level based on one or more navigational or propulsiongoals. One or more navigational or propulsion goals may include, withoutlimitation, one or more goals concerning attitude control; for instance,a goal may include keeping a craft in a particular attitude with regardto the desired attitude dictated by the flight controller or pilot forthe given conditions; particular attitude may include a particular pitchor yaw orientation compared to the horizontal or to another referencepoint or collection thereof, such as reference points built intoinstrumentation measuring aircraft orientation in three dimensions. As anon-limiting example, in a side wind, an aircraft may not be level, butit may maintain a relatively stationary position and/or orientation overa target landing zone. A goal regarding attitude may require, forinstance, that attitude be maintained within a given tolerance of aparticular pitch angle with regard to a horizontal axis, a particularroll angle with regard to a particular horizontal axis, or a combinationthereof. A goal regarding attitude may include a goal or requirementwith regard to an aircraft position relative to a flight path; as anon-limiting example a requirement may specify that the aircraft have ayaw angle from the flight path of no more than a threshold amount ortolerance. Navigational and/or propulsion goals may include anacceleration or speed; for instance, a navigational and/or propulsiongoal may include a goal to maintain a certain airspeed velocity, such asa velocity required to maintain wing-based lift under currentconditions, or an acceleration required to attain a certain airspeedvelocity. In some embodiments, navigational and/or propulsion goals maybe determined as a function of an autonomous function or autonomous modeof a flight controller. In some embodiments, navigational and/orpropulsion goals may be received from a remote device. Navigationaland/or propulsion goals may include one or more goals regarding arequired altitude, such as a maximal or minimal altitude required bylocal airspace regulations; goal regarding altitude may includemaintaining altitude within a tolerance or threshold amount of therequired altitude, and/or a movement up or down to arrive at or within atolerance or threshold amount of the required altitude. Navigationaland/or propulsion goals may include one or more requirements regardingflight path; for instance, an aircraft incorporating system 100 may berequired to change direction to go around restricted airspace, tocorrect its heading because of an error in navigation or a sudden gust,or the like.

Still referring to FIG. 9, vehicle controller 112 may determine commandsto transmit to one or more propulsors to meet one or more navigationaland/or propulsion goals; vehicle controller 112 may determine eachinitial power level as a function of commands. In an embodiment, initialpower level may be determined by calculating power requirements as aresult of each command using a model of a thrust element 212 todetermine a degree of resistance to thrust element 212 under currentconditions. Initial power level may be determined by calculating powerrequirements as a result of each command using a model of motor 200.Calculations to determine initial power requirements may include anestimation of back EMF to be generated by propulsor and/or motor 200under current conditions and given a command to propulsor; thisdetermination may be performed using a model of thrust element 212, amodel of motor 200, and/or a combination thereof. Vehicle controller 112may perform such calculations using lookup tables or mathematicalrelations as described above; for instance, vehicle controller 112 mayretrieve from a lookup table a potential level necessary to drive apropulsor at a given velocity, with a given back EMF such as a back EMFderived using models of at least a thrust element 212 and/or motor 200as described above, or using a mathematical relation such as an equationrelating potential demand of a propulsor as a function of desiredpropulsor velocity and/or back EMF. Persons skilled in the art, uponreviewing the entirety of this disclosure, will be aware of variousalternative means for determining a potential and/or power demand of apropulsor as described herein. Power levels of plurality of propulsors104 a-n may be calculated with regard to parameters other than electricpotential alternatively or in addition to the above-describeddetermination, including without limitation current or power demands. Inan embodiment, sensor feedback using any sensor as described above mayreplace or supplement calculation of potential and/or power consumptionrequirements. For instance, vehicle controller 112 may record sensorfeedback indicating angular velocity of and/or torque exerted by motor200 in one or more instances, along with corresponding electricalparameters of the circuit driving motor 200 such as voltage, current,power consumed, or the like, and storing values so derived; vehiclecontroller 112 may look up such stored values to determine potentialand/or power consumption at a given desired angular speed or torque fora propulsor. Vehicle controller 112 may perform interpolation orregression to predict likely potential and/or power consumption at anangular speed and/or torque not specifically recorded. Vehiclecontroller 112 may alternatively or additionally determine power levelsby reference to one or more stored values associating power levelsand/or power consumption needs of one or more propulsors for performingone or more maneuvers; for instance, a maneuver requiring a change inpitch and/or yaw may involve a known increase or decrease in power toone or more propulsors as required to modify pitch and/or yaw. Ahovering, takeoff, or landing maneuver may be associated with a knownpower level for a propulsor. Stored values may be combined with sensorfeedback and/or estimates of back EMF, torque, and the like to determinean accurate or updated power level depending on conditions. Forinstance, where wind is tending to turn an electric aircraft 300incorporating system 100 and/or push the electric aircraft into anundesirable attitude, one or more propulsors may have to exert greatertorque or turn at a greater angular velocity to counteract the forcesimposed by the wind; vehicle controller 112 may modify power levelaccordingly by detecting changes in attitude, external conditions,and/or higher back EMF from one or more propulsors. Initial power levelmay be calculated using torque feedback from one or more propulsors, forinstance as described in further detail below. Persons skilled in theart, upon reviewing the entirety of this disclosure, will be aware ofvarious approaches that may be used to determine or estimate powerconsumption requirements of a propulsor as a function of a vehiclecontroller 112 command to be transmitted to the propulsor.

At step 915, and still referring to FIG. 9, vehicle controller 112determines a present power output capability of the at least an energysource. As used herein, a power output capability is a capability todeliver power and/or energy to a load or component powered by at leastan electrical energy source 108. A power output capability may include apower delivery capability, which may include peak power outputcapability, average power output capability, a duration of time duringwhich a given power level, including without limitation peak and/oraverage power output capability, may be maintained, and/or a time atwhich a given power level may be delivered, where the time is providedin terms of a measure of time in seconds or other units from a givenmoment, a measure of time in seconds or other units from a given pointin a flight plan, or as a given point in a flight plan; that is, a timewhen power may be provided may be rendered as a time at which anaircraft arrives at a particular stage in a flight plan, such that, as anon-limiting example, power output capability may indicate whether peakpower may be provided at or during a landing stage of flight. Poweroutput capability may include energy delivery capability, includingwithout limitation a total amount of remaining energy deliverable by agiven electrical energy source, as well as one or more factors such astime, temperature, or rate that may affect the total amount of energyavailable; for instance, circumstances that increase output impedanceand/or resistance of at least an electrical energy source, and thus helpdetermine in practical terms how much energy may actually be deliveredto components, may be a part of energy delivery capability. At least apower output capability may be determined by any suitable method,including without limitation using one or more models of the at least anenergy source to predict one or more circuit parameters of electricpower output; one or more circuit parameters of electric power outputmay include power, current, voltage, or any other measure of a parameterof an electric circuit. One or more models may include, withoutlimitation, a lookup table providing the one or more circuit parametersbased on conditions of at least an energy source and/or of a circuitcontaining the at least an energy source; conditions may include,without limitation, a state of charge of the at least an energy source,a temperature of the at least an energy source, a resistance of a loadconnected to the at least an energy source, a current, voltage, or powerdemand of a circuit or load connected to the at least an energy source,or the like. One or more models may include one or more equations,graphs, or maps relating the one or more circuit parameters to one ormore conditions as described above. One or more models may be createdusing data from a data sheet or other data provided by a manufacturer,data received from one or more sensors during operation of system 100,simulation generated using a simulation program that models circuitbehaviors, analysis of analogous circuits, any combination thereof, orany other predictive and/or sensor-based methods for determiningrelationships between one or more circuit parameters and one or moreconditions.

With continued reference to FIG. 9, determination of power outputcapability may be performed by any suitable method, including withoutlimitation using one or more models of the at least an energy source topredict one or more circuit parameters of electric power output; one ormore circuit parameters of electric power output may include power,current, voltage, resistance or any other measure of a parameter of anelectric circuit. One or more models may include, without limitation, alookup or reference table providing the one or more circuit parametersbased on conditions of at least an energy source and/or of a circuitcontaining the at least an energy source; conditions may include,without limitation, a state of charge of the at least an energy source,a temperature of the at least an energy source, a resistance of a loadconnected to the at least an energy source, a current, voltage, or powerdemand of a circuit or load connected to the at least an energy source,or the like. One or more models may include one or more equations,reference, graphs, or maps relating the one or more circuit parametersto one or more conditions as described above. One or more models may becreated using data from a data sheet or other data provided by amanufacturer, data received from one or more sensors during operation ofin-flight operational assessment system 100, simulation generated usinga simulation program that models circuit behaviors, analysis ofanalogous circuits, any combination thereof, or any other predictiveand/or sensor-based methods for determining relationships between one ormore circuit parameters and one or more conditions. The power capacityof at least an energy source 108 may decline after each flight cycle,producing a new set of data or reference tables to calculate parameters.

Still viewing FIG. 9, and as a non-limiting example, determining presentpower output capability of at least an energy source may includedetermining an electric potential of the at least an energy source 108under load, where potential under load is the potential that would bemeasured across one or more energy sources of at least an energy source108 while providing power to plurality of propulsors 104 a-n at initialpower level. Vehicle controller 112 may determine electric potential asa function of a circuit model of the at least an energy source 108 underload; for instance, vehicle controller 112 may have stored valuesdescribing the degree to which the electric potential of each energysource of the at least an energy source 108 declines with increase incurrent draw and/or decrease in state of charge. As a non-limitingexample, a battery with a low state of charge from which a load, such aswithout limitation plurality of propulsors 104 a-n, is drawing a highcurrent may have a measured potential across poles that is 50% of thebattery's nominal potential; vehicle controller 112 may have stored inmemory one or more lookup tables, for instance in multi-dimensionalarray form or in the form of any other suitable data structure,describing probable potential across a given battery at a given state ofcharge and/or load current demand. Such lookup tables or equivalent datastructures may be obtained from technical specifications, such asdatasheets, describing battery behavior. Alternatively or additionally,vehicle controller 112 may store in memory one or more mathematicalrelations relating potential to current demand and/or state of charge;for instance, a mathematical equation relating potential to currentand/or state of charge may exist which sufficiently models potentialdecline as a function of current draw and/or state of charge. Vehiclecontroller 112 may likewise store in memory mathematical relationshipsbetween power output commands, back EMF, or other characteristics andcurrent demands in a circuit linking at least an energy source 108 toplurality of propellers. Persons skilled in the art will be aware, uponreview of the entirety of this disclosure, of various ways in whichpotential across an energy source may be predicted based on circuitconditions under load, each of which is considered to be within thescope of this disclosure.

In an embodiment, and with continued reference to FIG. 9, vehiclecontroller 112 may use state of voltage (SOV) of at least an energysource 108 to determine a current state and power output capability ofat least an energy source 108. State of voltage may be determined basedon open-circuit voltage; open circuit voltage may, as a non-limitingexample, be estimated using voltage across terminals, for instance bysubtracting a product of current and resistance, as detected and/orcalculated using measured or sampled values, to determine open-circuitvoltage. As a non-limiting example, instantaneous current and voltagemay be sampled and/or measured to determine Delta V and Delta I,representing instantaneous changes to voltage and current, which may beused in turn to estimate instantaneous resistance; low-pass filteringmay be used, as a non-limiting example, to determine instantaneousresistance more closely resembling a steady-state output resistance ofat least an energy source 108 than from transient effects, either fordischarge or recharge resistance. Open-circuit voltage may, in turn beused to estimate depth of discharge (DOD) and/or SOC, for instance byreference to a data sheet graph or other mapping relating open circuitvoltage to DOD and/or SOC. Remaining charge in at least an energy source104 may alternatively or additionally be estimated by one or more othermethods including without limitation current integrator estimate ofcharge remaining.

Still referring to FIG. 9, SOV and/or open circuit voltage of at leastan energy source 104 and/or one or more cells or components thereof maybe used to determine power output capability in an embodiment.Discharging a battery to the minimum allowed potential, such as withoutlimit a potential below which propulsor torque production may beadversely affected, may give maximum discharge power. This may be afunction of a cell and/or battery's open circuit potential and seriesresistance, as determined for instance using the following equation:

Pbatt.max discharge=(Voc−Vcell.min)*Vcell.min/Batt.resistance.discharge

where Voc is open circuit voltage, Vbatt.min is the minimum allowed opencircuit potential of a battery and/or cell, andbatt.resistance.discharge is a battery's and/or cell's dischargeresistance, which may be calculated in an embodiment as described above.One or more additional calculations may be used to aid in determinationof likely future behavior of at least an electrical energy source. Forinstance, a derivative of open circuit voltage with respect to state ofcharge (SOC) may be calculated and/or plotted. Alternatively oradditionally, a derivative of resistance with respect to SOC may betracked. In an embodiment, measurements of voltage and/or current may beused to determine the actual resistance within a battery or cell; any ofdetected voltage under load, determined open circuit voltage, current,and/or internal resistance may be used to project likely futurepower-delivery capability, voltage, and/or current output capability ofbattery using one or more models of battery performance, such as plotsindicating likely voltage output versus internal resistance and/orcurrent.

With continued reference to FIG. 9, vehicle controller 112 may determinesource state of charge. SOC, as used herein, is a measure of remainingcapacity as a function of time and is described in more detail below.SOC and/or maximum power at least an energy source 108 can deliver maydecrease during flight as the voltage decreases during discharge. SOCand/or power output capacity of an energy source may be associated withan ability of energy source to deliver energy as needed for a task suchas driving a propulsor for a phase of flight such as landing, hovering,or the like. Other factors, including state of voltage, and/or estimatesof state of voltage or other electrical parameters of an energy source,may be used to estimate a present state of at least an energy source 108and/or future ability to deliver power and/or energy, as described infurther detail below. At least an energy source 108 may be able tosupport landing according to a given landing protocol during a partialstate of charge (PSOC) but this ability may depend on demands requiredfor the landing protocol. Vehicle or aircraft landing power needs mayexceed measured power consumption at any particular time in flight.Determining the power output capability may include comparing at leastan electrical parameter to a curve representing a projected evolutionover time of at least an energy source 108. In an embodiment, SOC vstime may be used to determine the power and energy outputs of the energysource and may represent the available battery capacity. In anembodiment, at least an energy source 108 consists of a plurality ofbattery cells. SOC may be impacted by the chemistry type and footprintwhich can affect the charge and discharge rates and the operationalrange over time. SOC may also be impacted by any component of the systemincluding wiring, conduit, housing or any other hardware which may causeresistance during use. Cycle life of at least an energy source 108 willalso be affected by the number of charge and discharge cycles completedin operation. Capability of at least an energy source 108 to storeenergy may decrease after several iterations of the charge/dischargecycle over its lifetime.

Still referring to FIG. 9, at least an energy source 108 may include aplurality of energy sources connected in series. For instance, energysource 108 may include a set of batteries and/or cells connected inseries to achieve a particular voltage, or the like. Determining poweroutput capability of at least an energy source 108 may includedetermining a plurality of component energy capabilities representingthe energy capabilities of each energy source of the plurality of energysources, identifying a lowest component energy capability of theplurality of component energy capabilities, and determining the deliverycapability of the at least an energy source as a function of the lowestcomponent energy capability. For instance, and without limitation, onecell or battery connected in series with at least another cell orbattery may have a lower SOC, or otherwise be able to produce less totalenergy and/or power than the at least another battery or cell; as aresult, at least an energy source 108 overall may be limited primarilyby the cell or battery with lower SOC, making the effective power outputcapability overall dependent on the power output capability of the cellor battery with the lowest SOC, SOV, and/or other measure of poweroutput capability.

With continued reference to FIG. 9, in some embodiments step 915additionally includes vehicle controller 112 calculating at least apower demand of the plurality of propulsors 104 a-n as a function of theinitial power levels. At least a power demand may be calculated as anyconsumption need of any propulsor of plurality of propulsors. Forinstance, and without limitation, vehicle controller 112 may calculatean at least a potential demand of one or more propulsors of plurality ofpropulsors. At least a power demand of the plurality of propulsors 104a-n may include a power demand of a propulsor of plurality of propulsors104 a-n. A power demand of a propulsor may include an immediate powerdemand; an immediate power demand may include or be an initial powerlevel of a propulsor as described above and/or a subsequently calculatedpower level derived by similar a similar process. An immediate powerdemand may be calculated by aggregating two or more initial powerlevels; for instance, the immediate power demand may be calculated byaggregating initial power levels and/or subsequently calculated powerlevels of all propulsors drawing power from an energy source of at leastan energy source 108. A power demand of a propulsor may be calculated asa total amount of power and/or energy projected to be needed to performa flight maneuver, which may include a flight maneuver for which acurrent attitude of an electric aircraft 300 incorporating system 100 isto be maintained. For instance, a given propulsor or set of propulsorsmay be required to maintain initial power level and/or levels for somenumber of seconds to complete a maneuver such as a landing, a takeoff, aclimbing maneuver, a hovering maneuver, or the like, and power demandmay be computed by determining an amount of energy needed to remain atinitial power level for that number of seconds. As a further example, anoverall maneuver may require that power level be increased, decreased,or modified otherwise in response to maneuver instructions and/orconditions; at least a power demand may include power demand calculatedas a function of such future needs. At least a power demand may bemodified, updated, and/or recalculated using sensor feedback, which maybe acquired and applied according to any method described above for useof sensor feedback to determine initial power levels. At least a powerdemand may include a plurality of power demands; plurality of powerdemands may include a power demand of each propulsor, a power demand tobe drawn from each energy source, an aggregated total power demand ofall propulsors and/or any other suitable power demands calculated asdescribed in this disclosure.

Still referring to FIG. 1, calculation of at least a power demand may beaccomplished using lookup tables or mathematical relations as describedabove; for instance, vehicle controller 112 may retrieve from a lookuptable a potential level necessary to drive a propulsor at a givenvelocity, with a given back EMF such as a back EMF derived using modelsof at least a thrust element 212 and/or motor 200 as described above, orusing a mathematical relation such as an equation relating potentialdemand of a propulsor as a function of desired propulsor velocity and/orback EMF, and/or potential and/or power level needed to drive thepropulsor at such levels per unit of time, or over a period of time.Persons skilled in the art, upon reviewing the entirety of thisdisclosure, will be aware of various alternative means for determining apotential demand of a propulsor as described herein. Vehicle controller112 may perform interpolation, regression, and/or other data analysis ormachine learning to predict likely potential power consumption and/orother power demand parameters at an angular speed and/or torque notspecifically recorded. Persons skilled in the art, upon reviewing theentirety of this disclosure, will be aware of various ways in whichsensor feedback and calculation may be combined consistently with thisdisclosure to determine potential and/or power consumption needs of apropulsor and/or plurality of propulsors.

Still viewing FIG. 9, at step 920 vehicle controller 112 determines thatpresent power output capability is insufficient to match at least apower demand. In an embodiment, vehicle controller may compare one ormore numbers representing present power output capability to one or morenumbers representing at least a power demand. For instance, and withoutlimitation, vehicle controller 112 may determine a maximal power outputthat an energy source of at least an energy source 108 is able toproduce and compare the maximal power output to an initial power leveland/or anticipated peak power level and/or an aggregation of initialpower levels and/or peak power levels of one or more propulsors ofplurality of propulsors 104 a-n. As a further example, a power demand ofone or more propulsors needed to perform a maneuver or maintain anattitude for a desired period of time may be compared to an amount ofavailable energy estimated to be stored in at least an energy source 108as determined based on and/or using SOC, SOV, other factors orparameters, and/or a combination thereof; estimated available energy maybe determined based on total energy available in an energy source 108and/or based on energy available for a given maneuver or phase offlight, for instance based on data representing an additional amount ofenergy that will be needed for future maneuvers, such as landing orother later phases of flight. Comparison may include comparison ofmultiple factors; for instance, comparison may include both a comparisonof maximal power output ability of an energy source to an initial and/orpeak power level as described above combined with a comparison ofestimated available energy and/or available energy for a maneuver, anddetermination that either maximal output or estimated available energyis insufficient may lead to or serve as a determination that presentpower output capability is insufficient to match the at least a powerdemand. A comparison may include a direct comparison, such that, forinstance if a number representing at least a power demand is greaterthan a corresponding number representing a present power outputcapability, vehicle controller 112 may determine that the present poweroutput capability is insufficient to match the at least a power demand;alternatively or additionally, a comparison may include comparison to anumber representing at least a power demand added to a buffer amount,which may represent an amount of reserve or emergency power required tobe available to electric aircraft 300 and/or from at least an energysource 108. Reserve may, for instance, include an additional maximalpower output amount of at least an energy source 108, a reserve energystorage amount available for unexpectedly difficult conditions,diversion to a different landing zone, or delays in landing due to airtraffic or other conditions at a landing site. Comparison involving abuffer and direct comparison may each be used; for instance, at onemoment in a flight comparison may be performed with buffers, while at alater moment, for instance under emergent conditions, comparison mayinclude a direct comparison.

With continued reference to FIG. 1, determination may includedetermination that a single energy source of at least an energy source108 does not have sufficient current power output capacity to match apower demand corresponding to the single energy source; as anon-limiting example, one propulsor or set of propulsors may need tooutput more thrust or consume more power to maintain aircraft 300 in aparticular attitude as required or instructed by a maneuver to beperformed by aircraft 300, for instance as directed by vehiclecontroller 112, which may result in an energy source associated withthat propulsor having insufficient maximal power output or insufficientstored energy to supply that propulsor. Continuing the above example, inexisting systems a result may be that the associated energy source isdepleted faster than other sources, causing the propulsor from whichmaximal power output is needed for attitude control to fail first,leading to increasingly unstable and energy inefficient flight; this maycause accidents or failure to complete flight plans. The above-describedexemplary situation may be detected as part of determination thatpresent power output capability is insufficient to match at least apower demand.

Alternatively or additionally, and continuing to refer to FIG. 1, powerinsufficiency may be determined by other means, such as by a recursivemethod, a machine learning model, or by reference to another model,formula, or mathematical relationship. Sensor feedback may alsocontribute to determination of power insufficiently; for instance,vehicle controller may issue commands to one or more propulsors ofplurality of propulsors at initial power levels, receive feedback fromone or more sensors indicating that an amount of less than the initialpower level is being consumed by one or more propulsors, and determineas a result that a power insufficiency exits. Propulsor feedback may beused, in an embodiment, to determine each propulsor's ability to reach acommanded torque, speed, and/or power point commanded by controller 112;a short-fall at a propulsor may be determined, without limitation, bymeasuring back-EMF as described above. A short-fall at each propulsormay be communicated back to the vehicle controller which will thendistribute the shortfall among all propulsors. This may be repeated in arecursive fashion, for instance by producing a reduced power level forone or more of the plurality of propulsors as described below, thenrepeating any stage of this method 900 with the reduced power level as anew initial power level. Persons skilled in the art will be aware, uponreviewing the entirety of this disclosure, of various ways to determinethat present power output capability of at least an energy source isinsufficient at initial power level.

Still referring to FIG. 1, and as an illustrative example, vehiclecontroller 112 may determine that electric potential is insufficient tomatch aggregate demand. This may be performed, for instance, by aquantitative comparison; in an embodiment, where electric potential isless than or equal to aggregate potential demand, vehicle controller 112determines that electric potential is insufficient to meet aggregatepotential demand. Alternatively, vehicle controller 112 may be designedand configured to require that electric potential exceed aggregatepotential demand by some quantity as a buffer; quantity may be selected,for instance, to permit electric potential of at least an energy source108 to decrease with a decreasing state of charge, which may bepredicted based on flight plan or other data concerning likely futureenergy demands. Quantity may be selected as a reserve against unforeseenconditions, such as a need to reroute around obstacles or weather or asdirected by air traffic control, a need to expend more power to maintainattitude or stability during unexpectedly turbulent conditions, or thelike. Quantity may include a combination of the above amounts. Vehiclecontroller 112 may determine that electric potential is insufficient tomatch aggregate potential demand unless electric potential exceedsaggregate potential demand by at least quantity.

At step 925, and with continued reference to FIG. 9, vehicle controller112 may generate a reduced power level less than the initial power levelfor each propulsor of plurality of propulsors 104 a-n. Reduced powerlevel may be calculated, as a non-limiting example, by calculating aproportional reduction factor and multiplying each initial power levelof the plurality of initial power levels by the reduction factor.Potential reduction factor may be calculated once for all propulsors ofplurality of propulsors 104 a-n; this may act to ensure that allpropulsors of plurality of propulsors 104 a-n have their power levelsreduced by the same proportion of their initial power levels, preservingrelative power outputs of plurality of propulsors 104 a-n. In anembodiment, maintaining relative power outputs may ensure that attitudecontrol is maintained according to initial navigational and/orpropulsion goals as determined by vehicle controller 112 above.Reduction factor may be calculated as a function of a power consumptionneed of a propulsor of plurality of propulsors 104 a-n having thegreatest power consumption need of the plurality of propulsors 104 a-n,as determined, for instance, using back EMF estimated for that propulsorat initial power level. This may be determined by comparing anyparameter of detected and/or calculated power consumption needs and/orinitial power levels for plurality of propulsors and comparison ofparameters to each other; for instance, and without limitation,determining maximal power consumption may include comparing one or morenumbers describing at least a power demand of each propulsor to eachother propulsor and determining a maximum number of the one or morenumbers. As a further non-limiting example, determining maximal powerconsumption may include determining back electromotive force for eachpropulsor of the plurality of propulsors 104 a-n and identifying themaximal back electromotive force. Back electromotive force may beestimated as a function of initial power level as described above. BackEMF may alternatively be computed and/or estimated as function of theelectric motor's magnet strength, and the rotational speed of the motor.Reduction factor may be calculated as a function of electric potentialof at least an energy source 108 under load. Reduction factor may becalculated as a function of aggregate potential demand. Calculation ofreduction factor may combine the above-described elements. As anon-limiting example, where back EMF and/or propulsor power areestimated, reduction factor may be calculated using the formula:Reduction factor=(highest back EMF estimate/Energy Source potentialunder load)*weighting factor; weighting factor may be calculated asweighting factor=highest Back EMF propulsor power/total energy sourcepower. Estimation of back-EMF may be performed by linking desired torqueto desired propulsor speed via a propulsor characteristic, which may bestored in memory of controller, e.g., as a value, set of equations,table of values, and/or model, and then using desired speed to estimatedesired back EMF, estimated desired back EMF may also be used toestimate battery potential ratio. Persons skilled in the art will beaware, upon review of the entirety of this disclosure, of various otherways in which reduction factor may be calculated or derived. Where twoor more propulsors are determined to be demanding too much power for thecapabilities of the at least an energy source 108, reduction factor maybe selected by calculating a plurality of reduction factors including areduction factor for each propulsor of the plurality of propulsors andselecting a maximal reduction factor of the plurality of reductionfactors as the reduction factor to be used. Reduction factor may becomputed per energy source of at least an energy source 108; forinstance, any of the above methods for calculation of a reduction factormay be performed regarding each propulsor driven by a given energysource and aggregated to derive a total reduction factor for that energysource, which may ensure that reduction factor is sufficient to bringpower consumption within the present capabilities of that energy source.Aggregation may include any suitable form of aggregation that may occurto persons skilled in the art, upon reviewing the entirety of thisdisclosure, including without limitation adding together propulsors'reduction factors to derive a total reduction factor per energy source.A maximal reduction factor of a plurality of reduction factorscalculated for sets of propulsors driven by shared energy sources may beselected as above, to determine the overall reduction factor for allpropulsors.

Still viewing FIG. 9, and at step 930, vehicle controller 112 directs,for each reduced power level, a corresponding propulsor of the pluralityof propulsors 104 a-n to consume electrical power at the reduced powerlevel; the corresponding propulsor, as used herein, is the propulsorthat vehicle controller 112 was going to command to consume power at aninitial power level that was reduced to reduced power level. Forinstance, where reduced power level was derived by multiplying aninitial power level intended for a particular propulsor by a reductionfactor as described above, vehicle controller 112 may direct thatpropulsor to consume reduced power level. In an embodiment, propulsorsso directed consume a power at a level that may be output by at least anenergy source 108, and thus at a level that may be sustained for sometime, albeit potentially while losing altitude or effecting an emergencylanding; where all reduced power levels are reduced in proportionalmeasure, for instance using reduction factor as described above,relative propulsive outputs may be similar to relative propulsiveoutputs at initial power levels, enabling similar attitude control tothat initially computed to be maintained. As a result, a safer emergencylanding or extended flight at a lower speed and/or altitude may bepossible. In an embodiment, relative power levels being maintainedduring overall reduction may allow a current or desired attitude of anaircraft 300 to be maintained, which may permit continued flight,controlled landing such as emergency landing, or the like.

Still viewing FIG. 9, in a non-limiting example presented forillustrative purposes only and corresponding to an embodiment of “CaseA” as described above, a gap in power capability may be estimated withregard to an energy source having insufficient power output capability.This may be performed, as a non-limiting example, by estimating theimpact on affected propulsors; estimation may be, for instance,calculated using the equation: Power Gap=Total Power Desired−EstimatedPower Capability of all the propulsors for the given energy sourcepotential. Total power desired may be estimated by way of the attitudecontrol for each propulsor under ideal conditions where the energystorage is able to supply sufficient voltage/potential with noconstraints on the propulsors. Energy storage potential may be estimatedaccording to any method described above for such estimation, includingusing observed or estimated open circuit potential and internal seriesresistance characteristics for at least an energy source 108. Aresulting energy source terminal potential's impact (or power limitimpact) on corresponding propulsors may be estimated and reductions inany of the propulsors may be noted; an actual power capability and/orperformance of energy source may be derived from the above-describedelements. A shortfall between desired and actual capability and/orperformance may be noted and used to calculate a percentage of theoriginal desired power level representing the shortfall; all propulsorsmay be reduced by this percentage, so as to maintain the relative powerbetween the thrusters for the purposes of attitude control.Alternatively or additionally, a solver may be applied to the problem,or some other recursive routine to arrive at the power gap or percentageof shortfall between desired and actual performance. Percentageshortfall may then be applied to propulsor commands as described above,such that the relative power distribution between the propulsors ismaintained. Such modified propulsor commands may have a lower averagepower level to help prevent any one propulsor from underperformingrelative to the others. This may result in a vehicle which still obeysthe attitude control intention of flight controller and/or of a pilot,or performs within some reasonable tolerance thereof, preventing oralleviating harm resulting from underperforming energy sources.

Still viewing FIG. 9, in another exemplary case corresponding to “CaseB” as described above, where all propulsors are affected by thebattery's limited power capability, a gap in power provision abilitybetween the aggregate demand as calculated above and the present poweroutput capability of at least an energy source may be estimated; as anon-limiting example, a gap in power provision ability may be estimatedas total power desired minus estimated battery power capability, wheretotal power desired is estimated by way of the attitude control for eachpropulsor under ideal conditions where the energy storage is able tosupply sufficient voltage/potential, assuming at least an energy sourceis able to produce as much power as is needed, and energy storagemaximum power capability is estimated by the observed (e.g. using one ormore sensors) or estimated open circuit potential and internal seriesresistance characteristics for the battery and the minimum allowablepotential for safe operation. Further continuing the example, theshortfall between desired and actual power performance may be noted andmade into a percentage of the original desired power level; allpropulsors may be reduced by this percentage, so as to maintain therelative power between plurality of propulsors 104 a-n for the purposesof attitude control.

With continued reference to FIG. 9, as a person skilled in the art willbe aware upon reviewing the entirety of this disclosure, each of powerdelivery capability, ability to provide electric potential, ability todrive torque at a required level, and/or ability to achieve a targetpropeller thrust and/or speed may be mathematically related; thus, forinstance, calculation of power delivery capability as described abovemay be performed by calculation of any of the other values, andvice-versa. For the purposes of this disclosure, and unless otherwisespecified, determination of ability of at least an electrical energysource 108 to provide torque, speed, potential and/or power is also adetermination of each other ability.

Embodiments of the above-described system and methods advantageouslyenable an electronic aircraft having reduced power capacity to operateat reduced power levels while maintaining a desired and/or necessaryattitude control. For example, an aircraft that is performing a hoveringlanding while lacking energy reserves to complete the landing may reducethrust, resulting in, for instance, a more rapid descent or lesshovering time, while preventing more problematic outcomes that mayresult from loss of attitude control, such as flipping over, driftingaway from a landing site, collision with other buildings or vehicles, orthe like. Cascading propulsor failures may be prevented by overall powerreductions based on the most at-risk propulsor.

It is to be noted that any one or more of the aspects and embodimentsdescribed herein may be conveniently implemented using one or moremachines (e.g., one or more computing devices that are utilized as auser computing device for an electronic document, one or more serverdevices, such as a document server, etc.) programmed according to theteachings of the present specification, as will be apparent to those ofordinary skill in the computer art. Appropriate software coding canreadily be prepared by skilled programmers based on the teachings of thepresent disclosure, as will be apparent to those of ordinary skill inthe software art. Aspects and implementations discussed above employingsoftware and/or software modules may also include appropriate hardwarefor assisting in the implementation of the machine executableinstructions of the software and/or software module.

Such software may be a computer program product that employs amachine-readable storage medium. A machine-readable storage medium maybe any medium that is capable of storing and/or encoding a sequence ofinstructions for execution by a machine (e.g., a computing device) andthat causes the machine to perform any one of the methodologies and/orembodiments described herein. Examples of a machine-readable storagemedium include, but are not limited to, a magnetic disk, an optical disc(e.g., CD, CD-R, DVD, DVD-R, etc.), a magneto-optical disk, a read-onlymemory “ROM” device, a random-access memory “RAM” device, a magneticcard, an optical card, a solid-state memory device, an EPROM, an EEPROM,and any combinations thereof. A machine-readable medium, as used herein,is intended to include a single medium as well as a collection ofphysically separate media, such as, for example, a collection of compactdiscs or one or more hard disk drives in combination with a computermemory. As used herein, a machine-readable storage medium does notinclude transitory forms of signal transmission.

Such software may also include information (e.g., data) carried as adata signal on a data carrier, such as a carrier wave. For example,machine-executable information may be included as a data-carrying signalembodied in a data carrier in which the signal encodes a sequence ofinstruction, or portion thereof, for execution by a machine (e.g., acomputing device) and any related information (e.g., data structures anddata) that causes the machine to perform any one of the methodologiesand/or embodiments described herein.

Examples of a computing device include, but are not limited to, anelectronic book reading device, a computer workstation, a terminalcomputer, a server computer, a handheld device (e.g., a tablet computer,a smartphone, etc.), a web appliance, a network router, a networkswitch, a network bridge, any machine capable of executing a sequence ofinstructions that specify an action to be taken by that machine, and anycombinations thereof. In one example, a computing device may includeand/or be included in a kiosk.

FIG. 8 shows a diagrammatic representation of one embodiment of acomputing device in the exemplary form of a computer system 800 withinwhich a set of instructions for causing a control system to perform anyone or more of the aspects and/or methodologies of the presentdisclosure may be executed. It is also contemplated that multiplecomputing devices may be utilized to implement a specially configuredset of instructions for causing one or more of the devices to performany one or more of the aspects and/or methodologies of the presentdisclosure. Computer system 800 includes a processor 804 and a memory808 that communicate with each other, and with other components, via abus 812. Bus 812 may include any of several types of bus structuresincluding, but not limited to, a memory bus, a memory controller, aperipheral bus, a local bus, and any combinations thereof, using any ofa variety of bus architectures.

Memory 808 may include various components (e.g., machine-readable media)including, but not limited to, a random-access memory component, a readonly component, and any combinations thereof. In one example, a basicinput/output system 816 (BIOS), including basic routines that help totransfer information between elements within computer system 800, suchas during start-up, may be stored in memory 808. Memory 808 may alsoinclude (e.g., stored on one or more machine-readable media)instructions (e.g., software) 820 embodying any one or more of theaspects and/or methodologies of the present disclosure. In anotherexample, memory 808 may further include any number of program modulesincluding, but not limited to, an operating system, one or moreapplication programs, other program modules, program data, and anycombinations thereof.

Computer system 800 may also include a storage device 824. Examples of astorage device (e.g., storage device 824) include, but are not limitedto, a hard disk drive, a magnetic disk drive, an optical disc drive incombination with an optical medium, a solid-state memory device, and anycombinations thereof. Storage device 824 may be connected to bus 812 byan appropriate interface (not shown). Example interfaces include, butare not limited to, SCSI, advanced technology attachment (ATA), serialATA, universal serial bus (USB), IEEE 1394 (FIREWIRE), and anycombinations thereof. In one example, storage device 824 (or one or morecomponents thereof) may be removably interfaced with computer system 800(e.g., via an external port connector (not shown)). Particularly,storage device 824 and an associated machine-readable medium 828 mayprovide nonvolatile and/or volatile storage of machine-readableinstructions, data structures, program modules, and/or other data forcomputer system 800. In one example, software 820 may reside, completelyor partially, within machine-readable medium 828. In another example,software 820 may reside, completely or partially, within processor 804.

Computer system 800 may also include an input device 832. In oneexample, a user of computer system 800 may enter commands and/or otherinformation into computer system 800 via input device 832. Examples ofan input device 832 include, but are not limited to, an alpha-numericinput device (e.g., a keyboard), a pointing device, a joystick, agamepad, an audio input device (e.g., a microphone, a voice responsesystem, etc.), a cursor control device (e.g., a mouse), a touchpad, anoptical scanner, a video capture device (e.g., a still camera, a videocamera), a touchscreen, and any combinations thereof. Input device 832may be interfaced to bus 812 via any of a variety of interfaces (notshown) including, but not limited to, a serial interface, a parallelinterface, a game port, a USB interface, a FIREWIRE interface, a directinterface to bus 812, and any combinations thereof. Input device 832 mayinclude a touch screen interface that may be a part of or separate fromdisplay 836, discussed further below. Input device 832 may be utilizedas a user selection device for selecting one or more graphicalrepresentations in a graphical interface as described above.

A user may also input commands and/or other information to computersystem 800 via storage device 824 (e.g., a removable disk drive, a flashdrive, etc.) and/or network interface device 840. A network interfacedevice, such as network interface device 840, may be utilized forconnecting computer system 800 to one or more of a variety of networks,such as network 844, and one or more remote devices 848 connectedthereto. Examples of a network interface device include, but are notlimited to, a network interface card (e.g., a mobile network interfacecard, a LAN card), a modem, and any combination thereof. Examples of anetwork include, but are not limited to, a wide area network (e.g., theInternet, an enterprise network), a local area network (e.g., a networkassociated with an office, a building, a campus or other relativelysmall geographic space), a telephone network, a data network associatedwith a telephone/voice provider (e.g., a mobile communications providerdata and/or voice network), a direct connection between two computingdevices, and any combinations thereof. A network, such as network 844,may employ a wired and/or a wireless mode of communication. In general,any network topology may be used. Information (e.g., data, software 820,etc.) may be communicated to and/or from computer system 800 via networkinterface device 840.

Computer system 800 may further include a video display adapter 852 forcommunicating a displayable image to a display device, such as displaydevice 836. Examples of a display device include, but are not limitedto, a liquid crystal display (LCD), a cathode ray tube (CRT), a plasmadisplay, a light emitting diode (LED) display, and any combinationsthereof. Display adapter 852 and display device 836 may be utilized incombination with processor 804 to provide graphical representations ofaspects of the present disclosure. In addition to a display device,computer system 800 may include one or more other peripheral outputdevices including, but not limited to, an audio speaker, a printer, andany combinations thereof. Such peripheral output devices may beconnected to bus 812 via a peripheral interface 856. Examples of aperipheral interface include, but are not limited to, a serial port, aUSB connection, a FIREWIRE connection, a parallel connection, and anycombinations thereof.

The foregoing has been a detailed description of illustrativeembodiments of the invention. Various modifications and additions can bemade without departing from the spirit and scope of this invention.Features of each of the various embodiments described above may becombined with features of other described embodiments as appropriate inorder to provide a multiplicity of feature combinations in associatednew embodiments. Furthermore, while the foregoing describes a number ofseparate embodiments, what has been described herein is merelyillustrative of the application of the principles of the presentinvention. Additionally, although particular methods herein may beillustrated and/or described as being performed in a specific order, theordering is highly variable within ordinary skill to achieve systems andmethods as described above. Accordingly, this description is meant to betaken only by way of example, and not to otherwise limit the scope ofthis invention.

Exemplary embodiments have been disclosed above and illustrated in theaccompanying drawings. It will be understood by those skilled in the artthat various changes, omissions and additions may be made to that whichis specifically disclosed herein without departing from the spirit andscope of the present invention.

What is claimed is:
 1. A system for maintaining attitude control underdegraded or depleted energy source conditions using multiple electricpropulsors, the system comprising: a plurality of propulsors; at leastan energy source providing electric power to the plurality ofpropulsors; and a vehicle controller communicatively coupled to eachpropulsor of the plurality of propulsors, the vehicle controllerdesigned and configured to: determine commands for the plurality ofpropulsors, the commands include a command for each propulsor of theplurality of propulsors; calculate initial power levels for theplurality of propulsors as a function of the commands, the initial powerlevels including an initial power level for each propulsor of theplurality of propulsors; detect a present power output capability of theat least an energy source; determine that the present power outputcapability is insufficient to match the initial power levels; and foreach initial power level of the plurality of initial power levels:generate a reduced power level, the reduced power level less than theinitial power level; and direct a corresponding propulsor of theplurality of propulsors to consume electrical power at the reduced powerlevel.
 2. The system of claim 1, wherein calculation of initial powerlevels further comprises calculation of initial power levels based on anattitude control goal.
 3. The system of claim 1, wherein detecting thepresent power output capability of the at least an energy source furthercomprises detecting, by the vehicle controller, an electric potential ofthe least an energy source under load.
 4. The system of claim 1, whereingenerating the reduced power level further comprises: calculating aproportional reduction factor; and multiplying the initial power levelby the reduction factor.
 5. The system of claim 4 wherein calculatingthe proportional reduction factor further comprises: identifying apropulsor, of the plurality of propulsors, requiring a maximal powerconsumption; and calculating the proportional reduction factor as afunction of the maximal power consumption.
 6. The system of claim 5,wherein identifying the propulsor further comprises: determining backelectromotive force for each propulsor of the plurality of propulsors;and identifying the maximal back electromotive force.
 7. The system ofclaim 6, wherein determining back electromotive force further comprisesestimating back electromotive force as a function of the initial powerlevel.
 8. The system of claim 6, wherein determining back electromotiveforce further comprises estimating back electromotive force as afunction of a computer model of the propulsor.
 9. The system of claim 1,wherein determining the commands further comprises determining thecommands as a function of an autonomous function.
 10. The system ofclaim 1, wherein determining the commands further comprises receivingthe commands from a remote device.
 11. A method of maintaining attitudecontrol of an electronic multi-propulsion system under degraded energysource conditions, the method comprising: determining, by a vehiclecontroller communicatively connected to a plurality of propulsorspowered by at least an energy source, commands for the plurality ofpropulsors, the commands including a command for each propulsor of theplurality of propulsors; calculating, by the vehicle controller, initialpower levels for the plurality of propulsors as a function of thecommands, the initial power levels including an initial power level foreach propulsor of the plurality of propulsors; detecting, by the vehiclecontroller, a present power output capability of the at least an energysource; determining, by the vehicle controller, that the present poweroutput capability is insufficient to match the initial power levels; andfor each initial power level of the plurality of initial power levels:generating, by the vehicle controller, a reduced power level, thereduced power level less than the initial power level; and directing, bythe vehicle controller, a corresponding propulsor of the plurality ofpropulsors to consume electrical power at the reduced power level. 12.The method of claim 11, wherein calculation of initial power levelsfurther comprises calculation of initial power levels based on anattitude control goal.
 13. The method of claim 11, wherein determiningthe present power output capability of the at least an energy sourcefurther comprises determining, by the vehicle controller, an electricpotential of the least an energy source under load.
 14. The method ofclaim 11, wherein generating the reduced power level further comprises:calculating a proportional reduction factor; and multiplying the initialpower level by the reduction factor.
 15. The method of claim 14, whereincalculating the proportional reduction factor further comprises:identifying a propulsor, of the plurality of propulsors, requiring amaximal power consumption; and calculating the proportional reductionfactor as a function of the maximal power consumption.
 16. The method ofclaim 15, wherein identifying the propulsor further comprises:determining back electromotive force for each propulsor of the pluralityof propulsors; and identifying the maximal back electromotive force. 17.The method of claim 16, wherein determining back electromotive forcefurther comprises estimating back electromotive force as a function ofthe initial power level.
 18. The method of claim 16, wherein determiningback electromotive force further comprises estimating back electromotiveforce as a function of a computer model of the propulsor.
 19. The methodof claim 11, wherein determining the commands further comprisesdetermining the commands as a function of an autonomous function. 20.The method of claim 11, wherein determining the commands furthercomprises receiving the commands from a remote device.